Merge branch 'for-linus' of git://git.infradead.org/users/eparis/notify

* 'for-linus' of git://git.infradead.org/users/eparis/notify:
dnotify: ignore FS_EVENT_ON_CHILD
inotify: fix coalesce duplicate events into a single event in special case
inotify: deprecate the inotify kernel interface
fsnotify: do not set group for a mark before it is on the i_list

+14 -5
+8
Documentation/feature-removal-schedule.txt
··· 418 418 Why: Should be implemented in userspace, policy daemon. 419 419 Who: Johannes Berg <johannes@sipsolutions.net> 420 420 421 + --------------------------- 422 + 423 + What: CONFIG_INOTIFY 424 + When: 2.6.33 425 + Why: last user (audit) will be converted to the newer more generic 426 + and more easily maintained fsnotify subsystem 427 + Who: Eric Paris <eparis@redhat.com> 428 + 421 429 ---------------------------- 422 430 423 431 What: lock_policy_rwsem_* and unlock_policy_rwsem_* will not be
+2 -1
fs/notify/dnotify/dnotify.c
··· 91 91 struct dnotify_struct *dn; 92 92 struct dnotify_struct **prev; 93 93 struct fown_struct *fown; 94 + __u32 test_mask = event->mask & ~FS_EVENT_ON_CHILD; 94 95 95 96 to_tell = event->to_tell; 96 97 ··· 107 106 spin_lock(&entry->lock); 108 107 prev = &dnentry->dn; 109 108 while ((dn = *prev) != NULL) { 110 - if ((dn->dn_mask & event->mask) == 0) { 109 + if ((dn->dn_mask & test_mask) == 0) { 111 110 prev = &dn->dn_next; 112 111 continue; 113 112 }
+3 -3
fs/notify/inode_mark.c
··· 324 324 spin_lock(&group->mark_lock); 325 325 spin_lock(&inode->i_lock); 326 326 327 - entry->group = group; 328 - entry->inode = inode; 329 - 330 327 lentry = fsnotify_find_mark_entry(group, inode); 331 328 if (!lentry) { 329 + entry->group = group; 330 + entry->inode = inode; 331 + 332 332 hlist_add_head(&entry->i_list, &inode->i_fsnotify_mark_entries); 333 333 list_add(&entry->g_list, &group->mark_entries); 334 334
+1 -1
fs/notify/notification.c
··· 143 143 /* remember, after old was put on the wait_q we aren't 144 144 * allowed to look at the inode any more, only thing 145 145 * left to check was if the file_name is the same */ 146 - if (old->name_len && 146 + if (!old->name_len || 147 147 !strcmp(old->file_name, new->file_name)) 148 148 return true; 149 149 break;