aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/fsnotify.h
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2009-05-21 17:01:26 -0400
committerEric Paris <eparis@redhat.com>2009-06-11 14:57:53 -0400
commit3be25f49b9d6a97eae9bcb96d3292072b7658bd8 (patch)
tree36f7d96481a47a6bde3c2f961346e940698111e0 /include/linux/fsnotify.h
parent90586523eb4b349806887c62ee70685a49415124 (diff)
fsnotify: add marks to inodes so groups can interpret how to handle those inodes
This patch creates a way for fsnotify groups to attach marks to inodes. These marks have little meaning to the generic fsnotify infrastructure and thus their meaning should be interpreted by the group that attached them to the inode's list. dnotify and inotify will make use of these markings to indicate which inodes are of interest to their respective groups. But this implementation has the useful property that in the future other listeners could actually use the marks for the exact opposite reason, aka to indicate which inodes it had NO interest in. Signed-off-by: Eric Paris <eparis@redhat.com> Acked-by: Al Viro <viro@zeniv.linux.org.uk> Cc: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'include/linux/fsnotify.h')
-rw-r--r--include/linux/fsnotify.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/fsnotify.h b/include/linux/fsnotify.h
index 6c9ebefdac8e..3856eb6e5973 100644
--- a/include/linux/fsnotify.h
+++ b/include/linux/fsnotify.h
@@ -100,6 +100,14 @@ static inline void fsnotify_move(struct inode *old_dir, struct inode *new_dir,
100} 100}
101 101
102/* 102/*
103 * fsnotify_inode_delete - and inode is being evicted from cache, clean up is needed
104 */
105static inline void fsnotify_inode_delete(struct inode *inode)
106{
107 __fsnotify_inode_delete(inode);
108}
109
110/*
103 * fsnotify_nameremove - a filename was removed from a directory 111 * fsnotify_nameremove - a filename was removed from a directory
104 */ 112 */
105static inline void fsnotify_nameremove(struct dentry *dentry, int isdir) 113static inline void fsnotify_nameremove(struct dentry *dentry, int isdir)
@@ -121,6 +129,7 @@ static inline void fsnotify_inoderemove(struct inode *inode)
121 inotify_inode_is_dead(inode); 129 inotify_inode_is_dead(inode);
122 130
123 fsnotify(inode, FS_DELETE_SELF, inode, FSNOTIFY_EVENT_INODE); 131 fsnotify(inode, FS_DELETE_SELF, inode, FSNOTIFY_EVENT_INODE);
132 __fsnotify_inode_delete(inode);
124} 133}
125 134
126/* 135/*