public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH -v3 0/8] file notification: fsnotify a unified file notification backend
@ 2008-11-25 17:20 Eric Paris
  2008-11-25 17:20 ` [PATCH -v3 1/8] filesystem notification: create fs/notify to contain all fs notification Eric Paris
                   ` (8 more replies)
  0 siblings, 9 replies; 31+ messages in thread
From: Eric Paris @ 2008-11-25 17:20 UTC (permalink / raw)
  To: linux-kernel, malware-list; +Cc: viro, akpm, alan, arjan, hch, a.p.zijlstra

This patch series implements fsnotify a filesystem notification backend which
should be the basis for dnotify, inotify, and eventually fanotify.

This series only reimplements dnotify using the new fsnotify backend.  If
accepted I will do the work to port inotify as well.  Currently struct inode
goes from:

#ifdef CONFIG_DNOTIFY
       unsigned long           i_dnotify_mask; /* Directory notify events */
       struct dnotify_struct   *i_dnotify; /* for directory notifications */
#endif

to:
#ifdef CONFIG_FSNOTIFY
       unsigned long           i_fsnotify_mask; /* all events this inode cares about */
       struct list_head        i_fsnotify_mark_entries; /* fsnotify mark entries */
       spinlock_t              i_fsnotify_lock; /* protect the entries list */
#endif

so the inode still grows, but the inotify fields will be dropped as well
resulting in a smaller struct inode.  These are all the fields fanotify will
want as well.

rwlocks have been completely dropped in favor of even smaller critical section
spinlocks.  i_lock is no longer used to protect dnotify information and
instead the more specific i_fsnotify_lock is used.
---

Eric Paris (8):
      dnotify: reimplement dnotify using fsnotify
      fsnotify: add in inode fsnotify markings
      fsnotify: add group priorities
      fsnotify: unified filesystem notification backend
      fsnotify: use the new open-exec hook for inotify and dnotify
      fsnotify: sys_execve and sys_uselib do not call into fsnotify
      fsnotify: pass a file instead of an inode to open, read, and write
      filesystem notification: create fs/notify to contain all fs notification


 fs/Kconfig                       |   39 --
 fs/Makefile                      |    5 
 fs/compat.c                      |    5 
 fs/dnotify.c                     |  194 --------
 fs/exec.c                        |    5 
 fs/inode.c                       |    7 
 fs/inotify.c                     |  911 --------------------------------------
 fs/inotify_user.c                |  778 --------------------------------
 fs/nfsd/vfs.c                    |    4 
 fs/notify/Kconfig                |   14 +
 fs/notify/Makefile               |    4 
 fs/notify/dnotify/Kconfig        |   11 
 fs/notify/dnotify/Makefile       |    1 
 fs/notify/dnotify/dnotify.c      |  400 +++++++++++++++++
 fs/notify/fsnotify.c             |  104 ++++
 fs/notify/fsnotify.h             |   99 ++++
 fs/notify/group.c                |  150 ++++++
 fs/notify/inode_mark.c           |  226 +++++++++
 fs/notify/inotify/Kconfig        |   27 +
 fs/notify/inotify/Makefile       |    2 
 fs/notify/inotify/inotify.c      |  911 ++++++++++++++++++++++++++++++++++++++
 fs/notify/inotify/inotify_user.c |  778 ++++++++++++++++++++++++++++++++
 fs/notify/notification.c         |  188 ++++++++
 fs/open.c                        |    2 
 fs/read_write.c                  |    8 
 include/linux/dnotify.h          |   21 -
 include/linux/fs.h               |    7 
 include/linux/fsnotify.h         |   73 ++-
 include/linux/fsnotify_backend.h |  103 ++++
 29 files changed, 3100 insertions(+), 1977 deletions(-)
 delete mode 100644 fs/dnotify.c
 delete mode 100644 fs/inotify.c
 delete mode 100644 fs/inotify_user.c
 create mode 100644 fs/notify/Kconfig
 create mode 100644 fs/notify/Makefile
 create mode 100644 fs/notify/dnotify/Kconfig
 create mode 100644 fs/notify/dnotify/Makefile
 create mode 100644 fs/notify/dnotify/dnotify.c
 create mode 100644 fs/notify/fsnotify.c
 create mode 100644 fs/notify/fsnotify.h
 create mode 100644 fs/notify/group.c
 create mode 100644 fs/notify/inode_mark.c
 create mode 100644 fs/notify/inotify/Kconfig
 create mode 100644 fs/notify/inotify/Makefile
 create mode 100644 fs/notify/inotify/inotify.c
 create mode 100644 fs/notify/inotify/inotify_user.c
 create mode 100644 fs/notify/notification.c
 create mode 100644 include/linux/fsnotify_backend.h

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2008-12-01 15:38 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-25 17:20 [PATCH -v3 0/8] file notification: fsnotify a unified file notification backend Eric Paris
2008-11-25 17:20 ` [PATCH -v3 1/8] filesystem notification: create fs/notify to contain all fs notification Eric Paris
2008-11-28  5:24   ` Al Viro
2008-11-25 17:21 ` [PATCH -v3 2/8] fsnotify: pass a file instead of an inode to open, read, and write Eric Paris
2008-11-25 17:21 ` [PATCH -v3 3/8] fsnotify: sys_execve and sys_uselib do not call into fsnotify Eric Paris
2008-11-28 10:16   ` Christoph Hellwig
2008-11-25 17:21 ` [PATCH -v3 4/8] fsnotify: use the new open-exec hook for inotify and dnotify Eric Paris
2008-11-25 17:21 ` [PATCH -v3 5/8] fsnotify: unified filesystem notification backend Eric Paris
2008-11-27 16:14   ` Peter Zijlstra
2008-11-27 16:17   ` Peter Zijlstra
2008-11-27 16:20   ` Peter Zijlstra
2008-11-28 23:22     ` Eric Paris
2008-11-28 23:39       ` Peter Zijlstra
2008-11-27 16:21   ` Peter Zijlstra
2008-11-28  4:54   ` Al Viro
2008-11-28 23:32     ` Eric Paris
2008-11-25 17:21 ` [PATCH -v3 6/8] fsnotify: add group priorities Eric Paris
2008-11-27 16:25   ` Peter Zijlstra
2008-12-01 15:20     ` Eric Paris
2008-12-01 15:37       ` Peter Zijlstra
2008-11-25 17:21 ` [PATCH -v3 7/8] fsnotify: add in inode fsnotify markings Eric Paris
2008-11-27 16:29   ` Peter Zijlstra
2008-11-28  5:42   ` Al Viro
2008-11-28 23:43     ` Eric Paris
2008-11-25 17:21 ` [PATCH -v3 8/8] dnotify: reimplement dnotify using fsnotify Eric Paris
2008-11-28  5:14   ` Al Viro
2008-11-28 23:37     ` Eric Paris
2008-11-28  6:25   ` Al Viro
2008-11-28 23:44     ` Eric Paris
2008-11-26  0:14 ` [PATCH -v3 0/8] file notification: fsnotify a unified file notification backend Andrew Morton
2008-11-26  2:00   ` Eric Paris

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox