diff options
author | Eric Paris <eparis@redhat.com> | 2009-05-21 17:01:47 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2009-06-11 14:57:54 -0400 |
commit | 47882c6f51e8ef41fbbe2bbb746a1ea3228dd7ca (patch) | |
tree | d3dd3e8d0e4d3e3793f32107077839f787e35fcd /fs/notify/fsnotify.c | |
parent | 62ffe5dfba056f7ba81d710fee9f28c58a42fdd6 (diff) |
fsnotify: add correlations between events
As part of the standard inotify events it includes a correlation cookie
between two dentry move operations. This patch includes the same behaviour
in fsnotify events. It is needed so that inotify userspace can be
implemented on top of fsnotify.
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 'fs/notify/fsnotify.c')
-rw-r--r-- | fs/notify/fsnotify.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c index 675129fa9fdd..f11d75f02368 100644 --- a/fs/notify/fsnotify.c +++ b/fs/notify/fsnotify.c | |||
@@ -115,7 +115,7 @@ void __fsnotify_parent(struct dentry *dentry, __u32 mask) | |||
115 | mask |= FS_EVENT_ON_CHILD; | 115 | mask |= FS_EVENT_ON_CHILD; |
116 | 116 | ||
117 | fsnotify(p_inode, mask, dentry->d_inode, FSNOTIFY_EVENT_INODE, | 117 | fsnotify(p_inode, mask, dentry->d_inode, FSNOTIFY_EVENT_INODE, |
118 | dentry->d_name.name); | 118 | dentry->d_name.name, 0); |
119 | dput(parent); | 119 | dput(parent); |
120 | } | 120 | } |
121 | 121 | ||
@@ -132,7 +132,7 @@ EXPORT_SYMBOL_GPL(__fsnotify_parent); | |||
132 | * out to all of the registered fsnotify_group. Those groups can then use the | 132 | * out to all of the registered fsnotify_group. Those groups can then use the |
133 | * notification event in whatever means they feel necessary. | 133 | * notification event in whatever means they feel necessary. |
134 | */ | 134 | */ |
135 | void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, const char *file_name) | 135 | void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, const char *file_name, u32 cookie) |
136 | { | 136 | { |
137 | struct fsnotify_group *group; | 137 | struct fsnotify_group *group; |
138 | struct fsnotify_event *event = NULL; | 138 | struct fsnotify_event *event = NULL; |
@@ -157,7 +157,7 @@ void fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is, const | |||
157 | if (!group->ops->should_send_event(group, to_tell, mask)) | 157 | if (!group->ops->should_send_event(group, to_tell, mask)) |
158 | continue; | 158 | continue; |
159 | if (!event) { | 159 | if (!event) { |
160 | event = fsnotify_create_event(to_tell, mask, data, data_is, file_name); | 160 | event = fsnotify_create_event(to_tell, mask, data, data_is, file_name, cookie); |
161 | /* shit, we OOM'd and now we can't tell, maybe | 161 | /* shit, we OOM'd and now we can't tell, maybe |
162 | * someday someone else will want to do something | 162 | * someday someone else will want to do something |
163 | * here */ | 163 | * here */ |