diff options
author | Amy Griffis <amy.griffis@hp.com> | 2006-03-31 02:30:54 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-03-31 12:18:55 -0800 |
commit | 7a2bd3f7efa86e8b56482a8f8948c8b222064a67 (patch) | |
tree | 34a90c6b4f08efb1b7f3ca6face4879164c28e15 /fs/dcache.c | |
parent | 094e320d761dae5816d8faa695b0509eea79c108 (diff) | |
download | linux-7a2bd3f7efa86e8b56482a8f8948c8b222064a67.tar.gz linux-7a2bd3f7efa86e8b56482a8f8948c8b222064a67.tar.bz2 linux-7a2bd3f7efa86e8b56482a8f8948c8b222064a67.zip |
[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>
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index 19458d399502..21dffeec755b 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -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; } |