diff --git a/fs/Kconfig b/fs/Kconfig index 5aec56452e..4ac276b6b5 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -135,7 +135,6 @@ source "fs/mqueue/Kconfig" source "fs/shm/Kconfig" source "fs/mmap/Kconfig" source "fs/partition/Kconfig" -source "fs/notify/Kconfig" source "fs/fat/Kconfig" source "fs/nfs/Kconfig" source "fs/nxffs/Kconfig" diff --git a/fs/Make.defs b/fs/Make.defs deleted file mode 100644 index 00739fab5d..0000000000 --- a/fs/Make.defs +++ /dev/null @@ -1,21 +0,0 @@ -# ############################################################################## -# fs/Make.defs -# -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed to the Apache Software Foundation (ASF) under one or more contributor -# license agreements. See the NOTICE file distributed with this work for -# additional information regarding copyright ownership. The ASF licenses this -# file to you under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy of -# the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations under -# the License. -# -# ############################################################################## diff --git a/fs/Makefile b/fs/Makefile index e2879e437c..f1edefed65 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -66,7 +66,6 @@ include rpmsgfs/Make.defs include zipfs/Make.defs include mnemofs/Make.defs include v9fs/Make.defs -include notify/Make.defs endif CFLAGS += ${INCDIR_PREFIX}$(TOPDIR)$(DELIM)fs diff --git a/fs/driver/fs_registerblockdriver.c b/fs/driver/fs_registerblockdriver.c index 51798bfc35..aae4d02691 100644 --- a/fs/driver/fs_registerblockdriver.c +++ b/fs/driver/fs_registerblockdriver.c @@ -32,7 +32,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #ifndef CONFIG_DISABLE_MOUNTPOINT diff --git a/fs/driver/fs_registerdriver.c b/fs/driver/fs_registerdriver.c index eda177d4e6..c14052ff78 100644 --- a/fs/driver/fs_registerdriver.c +++ b/fs/driver/fs_registerdriver.c @@ -33,7 +33,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/driver/fs_registermtddriver.c b/fs/driver/fs_registermtddriver.c index 4fc63a7e2c..c91d1f2673 100644 --- a/fs/driver/fs_registermtddriver.c +++ b/fs/driver/fs_registermtddriver.c @@ -33,7 +33,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #if defined(CONFIG_MTD) && !defined(CONFIG_DISABLE_MOUNTPOINT) diff --git a/fs/driver/fs_registerpipedriver.c b/fs/driver/fs_registerpipedriver.c index 9b1dfdeb83..b9a8329eb2 100644 --- a/fs/driver/fs_registerpipedriver.c +++ b/fs/driver/fs_registerpipedriver.c @@ -32,7 +32,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #ifdef CONFIG_PIPES diff --git a/fs/driver/fs_unregisterblockdriver.c b/fs/driver/fs_unregisterblockdriver.c index b1c66fac02..d4e34d0600 100644 --- a/fs/driver/fs_unregisterblockdriver.c +++ b/fs/driver/fs_unregisterblockdriver.c @@ -29,7 +29,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/driver/fs_unregisterdriver.c b/fs/driver/fs_unregisterdriver.c index 441e397bdb..fe5ec1e595 100644 --- a/fs/driver/fs_unregisterdriver.c +++ b/fs/driver/fs_unregisterdriver.c @@ -29,7 +29,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/driver/fs_unregistermtddriver.c b/fs/driver/fs_unregistermtddriver.c index 8babd5020d..1ad1aa0875 100644 --- a/fs/driver/fs_unregistermtddriver.c +++ b/fs/driver/fs_unregistermtddriver.c @@ -30,7 +30,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/driver/fs_unregisterpipedriver.c b/fs/driver/fs_unregisterpipedriver.c index 9e530505cb..69d7e2a4a0 100644 --- a/fs/driver/fs_unregisterpipedriver.c +++ b/fs/driver/fs_unregisterpipedriver.c @@ -29,7 +29,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #ifdef CONFIG_PIPES diff --git a/fs/event/event_close.c b/fs/event/event_close.c index 1749cf1eda..c2e8cd8a4a 100644 --- a/fs/event/event_close.c +++ b/fs/event/event_close.c @@ -34,7 +34,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/event/event_open.c b/fs/event/event_open.c index f0b2bf76c5..a2457096b3 100644 --- a/fs/event/event_open.c +++ b/fs/event/event_open.c @@ -36,7 +36,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #include "event/event.h" /**************************************************************************** diff --git a/fs/fs_initialize.c b/fs/fs_initialize.c index 38fd0d046d..a95f4ac31d 100644 --- a/fs/fs_initialize.c +++ b/fs/fs_initialize.c @@ -28,7 +28,6 @@ #include #include -#include "notify/notify.h" #include "rpmsgfs/rpmsgfs.h" #include "inode/inode.h" #include "aio/aio.h" diff --git a/fs/mount/fs_mount.c b/fs/mount/fs_mount.c index 1d852bee72..9c32435b7f 100644 --- a/fs/mount/fs_mount.c +++ b/fs/mount/fs_mount.c @@ -37,7 +37,7 @@ #include "driver/driver.h" #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Pre-processor Definitions diff --git a/fs/mount/fs_umount2.c b/fs/mount/fs_umount2.c index 546f6ff98f..b030a316e0 100644 --- a/fs/mount/fs_umount2.c +++ b/fs/mount/fs_umount2.c @@ -34,7 +34,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/mqueue/mq_open.c b/fs/mqueue/mq_open.c index 7b270bba1d..683f94c1c0 100644 --- a/fs/mqueue/mq_open.c +++ b/fs/mqueue/mq_open.c @@ -41,7 +41,7 @@ #include "inode/inode.h" #include "mqueue/mqueue.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Private Functions Prototypes diff --git a/fs/mqueue/mq_unlink.c b/fs/mqueue/mq_unlink.c index cc32de0b56..a0a2a275b6 100644 --- a/fs/mqueue/mq_unlink.c +++ b/fs/mqueue/mq_unlink.c @@ -36,7 +36,7 @@ #include "inode/inode.h" #include "mqueue/mqueue.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Private Functions diff --git a/fs/notify/CMakeLists.txt b/fs/notify/CMakeLists.txt deleted file mode 100644 index 9594cc62fe..0000000000 --- a/fs/notify/CMakeLists.txt +++ /dev/null @@ -1,25 +0,0 @@ -# ############################################################################## -# fs/notify/CMakeLists.txt -# -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed to the Apache Software Foundation (ASF) under one or more contributor -# license agreements. See the NOTICE file distributed with this work for -# additional information regarding copyright ownership. The ASF licenses this -# file to you under the Apache License, Version 2.0 (the "License"); you may not -# use this file except in compliance with the License. You may obtain a copy of -# the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations under -# the License. -# -# ############################################################################## - -if(CONFIG_FS_NOTIFY) - target_sources(fs PRIVATE inotify.c) -endif() diff --git a/fs/notify/Kconfig b/fs/notify/Kconfig deleted file mode 100644 index 9dd9bef234..0000000000 --- a/fs/notify/Kconfig +++ /dev/null @@ -1,25 +0,0 @@ -# -# For a description of the syntax of this configuration file, -# see the file kconfig-language.txt in the NuttX tools repository. -# - -config FS_NOTIFY - bool "FS Notify System" - default n - ---help--- - The Fsnotify System - -if FS_NOTIFY -config FS_NOTIFY_BUCKET_SIZE - int "Dir hash bucket size" - default 64 - -config FS_NOTIFY_MAX_EVENTS - int "Max events in one notify device" - default 1024 - -config FS_NOTIFY_FD_POLLWAITERS - int "Max pollwaiters in one notify device" - default 2 - -endif # FS_NOTIFY diff --git a/fs/notify/Make.defs b/fs/notify/Make.defs deleted file mode 100644 index 6b7fc42ec9..0000000000 --- a/fs/notify/Make.defs +++ /dev/null @@ -1,31 +0,0 @@ -############################################################################ -# fs/notify/Make.defs -# -# SPDX-License-Identifier: Apache-2.0 -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. The -# ASF licenses this file to you under the Apache License, Version 2.0 (the -# "License"); you may not use this file except in compliance with the -# License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. -# -############################################################################ - -# Include FSNOTIFY build support - - -ifeq ($(CONFIG_FS_NOTIFY),y) -CSRCS += inotify.c -endif - -DEPPATH += --dep-path notify -VPATH += :notify diff --git a/fs/notify/notify.h b/fs/notify/notify.h deleted file mode 100644 index 4016b737d7..0000000000 --- a/fs/notify/notify.h +++ /dev/null @@ -1,60 +0,0 @@ -/**************************************************************************** - * fs/notify/notify.h - * - * SPDX-License-Identifier: Apache-2.0 - * - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. The - * ASF licenses this file to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance with the - * License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT - * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the - * License for the specific language governing permissions and limitations - * under the License. - * - ****************************************************************************/ - -#ifndef __FS_NOTIFY_NOTIFY_H -#define __FS_NOTIFY_NOTIFY_H - -/**************************************************************************** - * Included Files - ****************************************************************************/ - -#include - -/**************************************************************************** - * Pre-processor Definitions - ****************************************************************************/ - -/**************************************************************************** - * Public Type Definitions - ****************************************************************************/ - -/**************************************************************************** - * Public Function Prototypes - ****************************************************************************/ - -/* These are internal OS interface and are not available to applications */ - -void notify_open(FAR const char *path, int oflags); -void notify_close(FAR const char *path, int oflags); -void notify_close2(FAR struct inode *inode); -void notify_read(FAR struct file *filep); -void notify_write(FAR struct file *filep); -void notify_chstat(FAR struct file *filep); -void notify_unlink(FAR const char *path); -void notify_unmount(FAR const char *path); -void notify_mkdir(FAR const char *path); -void notify_create(FAR const char *path); -void notify_rename(FAR const char *oldpath, bool oldisdir, - FAR const char *newpath, bool newisdir); -void notify_initialize(void); - -#endif diff --git a/fs/semaphore/sem_close.c b/fs/semaphore/sem_close.c index 09bb257d00..da8b1c0a17 100644 --- a/fs/semaphore/sem_close.c +++ b/fs/semaphore/sem_close.c @@ -35,7 +35,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #ifdef CONFIG_FS_NAMED_SEMAPHORES diff --git a/fs/semaphore/sem_open.c b/fs/semaphore/sem_open.c index cacccb2fc2..d346377831 100644 --- a/fs/semaphore/sem_open.c +++ b/fs/semaphore/sem_open.c @@ -42,7 +42,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #include "semaphore/semaphore.h" #ifdef CONFIG_FS_NAMED_SEMAPHORES diff --git a/fs/semaphore/sem_unlink.c b/fs/semaphore/sem_unlink.c index e00fabab09..fc0186e7f1 100644 --- a/fs/semaphore/sem_unlink.c +++ b/fs/semaphore/sem_unlink.c @@ -36,7 +36,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #include "semaphore/semaphore.h" /**************************************************************************** diff --git a/fs/shm/shm_open.c b/fs/shm/shm_open.c index 4c70187004..7d799743c9 100644 --- a/fs/shm/shm_open.c +++ b/fs/shm/shm_open.c @@ -31,7 +31,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" #include "shm/shmfs.h" /**************************************************************************** diff --git a/fs/shm/shm_unlink.c b/fs/shm/shm_unlink.c index 25f6297dd9..bd4850c829 100644 --- a/fs/shm/shm_unlink.c +++ b/fs/shm/shm_unlink.c @@ -29,7 +29,7 @@ #include #include "inode/inode.h" -#include "notify/notify.h" +#include "vfs/vfs.h" /**************************************************************************** * Private Functions diff --git a/fs/vfs/CMakeLists.txt b/fs/vfs/CMakeLists.txt index f261bdfec0..40d31ff0fb 100644 --- a/fs/vfs/CMakeLists.txt +++ b/fs/vfs/CMakeLists.txt @@ -53,14 +53,18 @@ set(SRCS fs_syncfs.c fs_truncate.c) +# File notify support + +if(CONFIG_FS_NOTIFY) + list(APPEND SRCS fs_inotify.c) +endif() + # File lock support if(NOT "${CONFIG_FS_LOCK_BUCKET_SIZE}" STREQUAL "0") list(APPEND SRCS fs_lock.c) endif() -# Certain interfaces are not available if there is no mountpoint support - if(NOT "${CONFIG_PSEUDOFS_SOFTLINKS}" STREQUAL "0") list(APPEND SRCS fs_link.c fs_symlink.c fs_readlink.c) endif() diff --git a/fs/vfs/Kconfig b/fs/vfs/Kconfig index aab361518f..b84b08778b 100644 --- a/fs/vfs/Kconfig +++ b/fs/vfs/Kconfig @@ -65,6 +65,27 @@ config SIGNAL_FD_NPOLLWAITERS endif # SIGNAL_FD +config FS_NOTIFY + bool "FS Notify System" + default n + ---help--- + The Fsnotify System + +if FS_NOTIFY +config FS_NOTIFY_BUCKET_SIZE + int "Dir hash bucket size" + default 64 + +config FS_NOTIFY_MAX_EVENTS + int "Max events in one notify device" + default 1024 + +config FS_NOTIFY_FD_POLLWAITERS + int "Max pollwaiters in one notify device" + default 2 + +endif # FS_NOTIFY + config FS_BACKTRACE int "VFS backtrace" default 0 diff --git a/fs/vfs/Make.defs b/fs/vfs/Make.defs index 089415c25f..e1b54a2389 100644 --- a/fs/vfs/Make.defs +++ b/fs/vfs/Make.defs @@ -29,7 +29,9 @@ CSRCS += fs_rename.c fs_rmdir.c fs_select.c fs_sendfile.c fs_stat.c CSRCS += fs_statfs.c fs_uio.c fs_unlink.c fs_write.c fs_dir.c fs_fsync.c CSRCS += fs_syncfs.c fs_truncate.c -# Certain interfaces are not available if there is no mountpoint support +ifeq ($(CONFIG_FS_NOTIFY),y) +CSRCS += fs_inotify.c +endif ifneq ($(CONFIG_FS_LOCK_BUCKET_SIZE),0) CSRCS += fs_lock.c diff --git a/fs/vfs/fs_close.c b/fs/vfs/fs_close.c index 55fd486d0b..575d3c1e3f 100644 --- a/fs/vfs/fs_close.c +++ b/fs/vfs/fs_close.c @@ -39,7 +39,6 @@ # include #endif -#include "notify/notify.h" #include "inode/inode.h" #include "sched/sched.h" #include "vfs.h" diff --git a/fs/vfs/fs_fchstat.c b/fs/vfs/fs_fchstat.c index 00b54625b4..fd64700b2b 100644 --- a/fs/vfs/fs_fchstat.c +++ b/fs/vfs/fs_fchstat.c @@ -33,8 +33,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Private Functions diff --git a/fs/notify/inotify.c b/fs/vfs/fs_inotify.c similarity index 99% rename from fs/notify/inotify.c rename to fs/vfs/fs_inotify.c index 92d0cdd21f..3d55960b89 100644 --- a/fs/notify/inotify.c +++ b/fs/vfs/fs_inotify.c @@ -1,5 +1,5 @@ /**************************************************************************** - * fs/notify/inotify.c + * fs/vfs/fs_inotify.c * * SPDX-License-Identifier: Apache-2.0 * diff --git a/fs/vfs/fs_mkdir.c b/fs/vfs/fs_mkdir.c index 5878ef3307..c9be09d104 100644 --- a/fs/vfs/fs_mkdir.c +++ b/fs/vfs/fs_mkdir.c @@ -34,8 +34,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Pre-processor Definitions diff --git a/fs/vfs/fs_open.c b/fs/vfs/fs_open.c index 1d52889999..6f5de6a1e9 100644 --- a/fs/vfs/fs_open.c +++ b/fs/vfs/fs_open.c @@ -42,7 +42,7 @@ #include "sched/sched.h" #include "inode/inode.h" #include "driver/driver.h" -#include "notify/notify.h" +#include "vfs.h" /**************************************************************************** * Private Functions diff --git a/fs/vfs/fs_pseudofile.c b/fs/vfs/fs_pseudofile.c index a6fadb02c2..7b091bce74 100644 --- a/fs/vfs/fs_pseudofile.c +++ b/fs/vfs/fs_pseudofile.c @@ -40,8 +40,8 @@ #include #include "inode/inode.h" -#include "notify/notify.h" #include "fs_heap.h" +#include "vfs.h" /**************************************************************************** * Private Types diff --git a/fs/vfs/fs_read.c b/fs/vfs/fs_read.c index 51d1ce48fb..857dcfcdd5 100644 --- a/fs/vfs/fs_read.c +++ b/fs/vfs/fs_read.c @@ -35,8 +35,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Private Functions diff --git a/fs/vfs/fs_rename.c b/fs/vfs/fs_rename.c index 7cd8319796..03a1a811c3 100644 --- a/fs/vfs/fs_rename.c +++ b/fs/vfs/fs_rename.c @@ -37,9 +37,9 @@ #include #include -#include "notify/notify.h" #include "inode/inode.h" #include "fs_heap.h" +#include "vfs.h" /**************************************************************************** * Pre-processor Definitions diff --git a/fs/vfs/fs_rmdir.c b/fs/vfs/fs_rmdir.c index ddfc8e72d3..f2b53284dd 100644 --- a/fs/vfs/fs_rmdir.c +++ b/fs/vfs/fs_rmdir.c @@ -33,8 +33,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Pre-processor Definitions diff --git a/fs/vfs/fs_symlink.c b/fs/vfs/fs_symlink.c index cb32bff301..c06d231a89 100644 --- a/fs/vfs/fs_symlink.c +++ b/fs/vfs/fs_symlink.c @@ -37,9 +37,9 @@ #include #include -#include "notify/notify.h" #include "inode/inode.h" #include "fs_heap.h" +#include "vfs.h" /**************************************************************************** * Pre-processor Definitions diff --git a/fs/vfs/fs_truncate.c b/fs/vfs/fs_truncate.c index 0be857e2ff..2f7dbe6d06 100644 --- a/fs/vfs/fs_truncate.c +++ b/fs/vfs/fs_truncate.c @@ -34,8 +34,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Public Functions diff --git a/fs/vfs/fs_unlink.c b/fs/vfs/fs_unlink.c index 8d33d70033..8726610a26 100644 --- a/fs/vfs/fs_unlink.c +++ b/fs/vfs/fs_unlink.c @@ -33,8 +33,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Pre-processor Definitions diff --git a/fs/vfs/fs_write.c b/fs/vfs/fs_write.c index 303b0be76a..8d4cc5da29 100644 --- a/fs/vfs/fs_write.c +++ b/fs/vfs/fs_write.c @@ -35,8 +35,8 @@ #include -#include "notify/notify.h" #include "inode/inode.h" +#include "vfs.h" /**************************************************************************** * Private Functions diff --git a/fs/vfs/vfs.h b/fs/vfs/vfs.h index 4313f45a10..a412bcd6a8 100644 --- a/fs/vfs/vfs.h +++ b/fs/vfs/vfs.h @@ -27,6 +27,7 @@ * Included Files ****************************************************************************/ +#include #include /**************************************************************************** @@ -105,4 +106,21 @@ int file_setlk(FAR struct file *filep, FAR struct flock *flock, bool nonblock); #endif /* CONFIG_FS_LOCK_BUCKET_SIZE */ + +#ifdef CONFIG_FS_NOTIFY +void notify_open(FAR const char *path, int oflags); +void notify_close(FAR const char *path, int oflags); +void notify_close2(FAR struct inode *inode); +void notify_read(FAR struct file *filep); +void notify_write(FAR struct file *filep); +void notify_chstat(FAR struct file *filep); +void notify_unlink(FAR const char *path); +void notify_unmount(FAR const char *path); +void notify_mkdir(FAR const char *path); +void notify_create(FAR const char *path); +void notify_rename(FAR const char *oldpath, bool oldisdir, + FAR const char *newpath, bool newisdir); +void notify_initialize(void); +#endif /* CONFIG_FS_NOTIFY */ + #endif /* __FS_VFS_VFS_H */