inotify: update the group mask on mark addition
authorEric Paris <eparis@redhat.com>
Fri, 28 Aug 2009 16:50:47 +0000 (12:50 -0400)
committerEric Paris <eparis@redhat.com>
Fri, 28 Aug 2009 16:51:14 +0000 (12:51 -0400)
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>
fs/notify/inotify/inotify_user.c

index 6111670b25736a9a91e38e2fe76f14ecd1f16fb0..dcd2040d330c4397d8cfdaa78a9c27dd990fe9ad 100644 (file)
@@ -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);