summaryrefslogtreecommitdiffstats
path: root/fs/notify
diff options
context:
space:
mode:
authorEric Paris <eparis@redhat.com>2009-08-28 12:50:47 -0400
committerEric Paris <eparis@redhat.com>2009-08-28 12:51:14 -0400
commit750a8870fe4016ef3091fc97e084d58c613c2cc7 (patch)
tree7a33b8edb176465959abe9bd67a21a4498d93b6a /fs/notify
parent83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e (diff)
downloadlinux-stable-750a8870fe4016ef3091fc97e084d58c613c2cc7.tar.gz
linux-stable-750a8870fe4016ef3091fc97e084d58c613c2cc7.tar.bz2
linux-stable-750a8870fe4016ef3091fc97e084d58c613c2cc7.zip
inotify: update the group mask on mark addition
Seperating the addition and update of marks in inotify resulted in a regression in that inotify never gets events. The inotify group mask is always 0. This mask should be updated any time a new mark is added. Signed-off-by: Eric Paris <eparis@redhat.com>
Diffstat (limited to 'fs/notify')
-rw-r--r--fs/notify/inotify/inotify_user.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/notify/inotify/inotify_user.c b/fs/notify/inotify/inotify_user.c
index 6111670b2573..dcd2040d330c 100644
--- a/fs/notify/inotify/inotify_user.c
+++ b/fs/notify/inotify/inotify_user.c
@@ -591,6 +591,10 @@ retry:
/* match the ref from fsnotify_init_markentry() */
fsnotify_put_mark(&tmp_ientry->fsn_entry);
+ /* if this mark added a new event update the group mask */
+ if (mask & ~group->mask)
+ fsnotify_recalc_group_mask(group);
+
out_err:
if (ret < 0)
kmem_cache_free(inotify_inode_mark_cachep, tmp_ientry);