Messages in this thread Patch in this message | | | Date | Wed, 29 Mar 2006 10:57:19 -0500 | From | Amy Griffis <> | Subject | [PATCH] inotify: IN_DELETE events missing in -mm |
| |
In recent -mm kernels (e.g. 2.6.16-mm1), 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>
diff --git a/fs/dcache.c b/fs/dcache.c index 363cd4b..344ce91 100644 --- a/fs/dcache.c +++ b/fs/dcache.c @@ -1198,11 +1198,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; } - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |