diff options
author | Eric Paris <eparis@redhat.com> | 2009-08-28 12:50:47 -0400 |
---|---|---|
committer | Eric Paris <eparis@redhat.com> | 2009-08-28 12:51:14 -0400 |
commit | 750a8870fe4016ef3091fc97e084d58c613c2cc7 (patch) | |
tree | 7a33b8edb176465959abe9bd67a21a4498d93b6a | |
parent | 83cb10f0ef3c96162be92339ccf8c0c9c9f2d13e (diff) |
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>
-rw-r--r-- | fs/notify/inotify/inotify_user.c | 4 |
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: | |||
591 | /* match the ref from fsnotify_init_markentry() */ | 591 | /* match the ref from fsnotify_init_markentry() */ |
592 | fsnotify_put_mark(&tmp_ientry->fsn_entry); | 592 | fsnotify_put_mark(&tmp_ientry->fsn_entry); |
593 | 593 | ||
594 | /* if this mark added a new event update the group mask */ | ||
595 | if (mask & ~group->mask) | ||
596 | fsnotify_recalc_group_mask(group); | ||
597 | |||
594 | out_err: | 598 | out_err: |
595 | if (ret < 0) | 599 | if (ret < 0) |
596 | kmem_cache_free(inotify_inode_mark_cachep, tmp_ientry); | 600 | kmem_cache_free(inotify_inode_mark_cachep, tmp_ientry); |