mirror of https://gitee.com/openkylin/linux.git
[PATCH] inotify: IN_DELETE events missing
IN_DELETE events are no longer generated for the removal of a file from a watched directory. This seems to be a result of clearing DCACHE_INOTIFY_PARENT_WATCHED in d_delete() directly before calling fsnotify_nameremove(). Assuming the flag doesn't need to be cleared before dentry_iput(), this should do the trick. Signed-off-by: Amy Griffis <amy.griffis@hp.com> Cc: John McCutchan <ttb@tentacle.dhs.org> Acked-by: Robert Love <rml@novell.com> Cc: Nick Piggin <nickpiggin@yahoo.com.au> Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
094e320d76
commit
7a2bd3f7ef
|
@ -1172,11 +1172,11 @@ void d_delete(struct dentry * dentry)
|
|||
spin_lock(&dentry->d_lock);
|
||||
isdir = S_ISDIR(dentry->d_inode->i_mode);
|
||||
if (atomic_read(&dentry->d_count) == 1) {
|
||||
/* remove this and other inotify debug checks after 2.6.18 */
|
||||
dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
|
||||
|
||||
dentry_iput(dentry);
|
||||
fsnotify_nameremove(dentry, isdir);
|
||||
|
||||
/* remove this and other inotify debug checks after 2.6.18 */
|
||||
dentry->d_flags &= ~DCACHE_INOTIFY_PARENT_WATCHED;
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue