aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/notify/fsnotify.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c
index 6f2777ce87a1..2169aa593d5f 100644
--- a/fs/notify/fsnotify.c
+++ b/fs/notify/fsnotify.c
@@ -261,27 +261,26 @@ int fsnotify(struct inode *to_tell, __u32 mask, void *data, int data_is,
261 261
262 while (inode_node || vfsmount_node) { 262 while (inode_node || vfsmount_node) {
263 used_inode = used_vfsmount = false; 263 used_inode = used_vfsmount = false;
264 inode_group = vfsmount_group = NULL;
264 265
265 if (inode_node) { 266 if (inode_node) {
266 inode_mark = hlist_entry(srcu_dereference(inode_node, &fsnotify_mark_srcu), 267 inode_mark = hlist_entry(srcu_dereference(inode_node, &fsnotify_mark_srcu),
267 struct fsnotify_mark, i.i_list); 268 struct fsnotify_mark, i.i_list);
268 inode_group = inode_mark->group; 269 inode_group = inode_mark->group;
269 } else 270 }
270 inode_group = (void *)-1;
271 271
272 if (vfsmount_node) { 272 if (vfsmount_node) {
273 vfsmount_mark = hlist_entry(srcu_dereference(vfsmount_node, &fsnotify_mark_srcu), 273 vfsmount_mark = hlist_entry(srcu_dereference(vfsmount_node, &fsnotify_mark_srcu),
274 struct fsnotify_mark, m.m_list); 274 struct fsnotify_mark, m.m_list);
275 vfsmount_group = vfsmount_mark->group; 275 vfsmount_group = vfsmount_mark->group;
276 } else 276 }
277 vfsmount_group = (void *)-1;
278 277
279 if (inode_group < vfsmount_group) { 278 if (inode_group > vfsmount_group) {
280 /* handle inode */ 279 /* handle inode */
281 send_to_group(to_tell, NULL, inode_mark, NULL, mask, data, 280 send_to_group(to_tell, NULL, inode_mark, NULL, mask, data,
282 data_is, cookie, file_name, &event); 281 data_is, cookie, file_name, &event);
283 used_inode = true; 282 used_inode = true;
284 } else if (vfsmount_group < inode_group) { 283 } else if (vfsmount_group > inode_group) {
285 send_to_group(to_tell, mnt, NULL, vfsmount_mark, mask, data, 284 send_to_group(to_tell, mnt, NULL, vfsmount_mark, mask, data,
286 data_is, cookie, file_name, &event); 285 data_is, cookie, file_name, &event);
287 used_vfsmount = true; 286 used_vfsmount = true;