summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@g5.osdl.org>2005-09-19 19:54:29 -0700
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-19 19:54:29 -0700
commitf805fbdaacf4367ce566743a665622387768ac0d (patch)
tree006c7be5683f8cad7be02824827e0104e15604b4
parent875bd5ab01bc0b760fd4e97838931cd2e7456cbd (diff)
downloadlinux-3.10-f805fbdaacf4367ce566743a665622387768ac0d.tar.gz
linux-3.10-f805fbdaacf4367ce566743a665622387768ac0d.tar.bz2
linux-3.10-f805fbdaacf4367ce566743a665622387768ac0d.zip
Make fsnotify possibly work better for the inode removal case
Checking i_nlink is dubious, but the alternatives look even less appetizing. Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--fs/dcache.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c
index 7376b61269f..fb10386c59b 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -102,7 +102,8 @@ static inline void dentry_iput(struct dentry * dentry)
list_del_init(&dentry->d_alias);
spin_unlock(&dentry->d_lock);
spin_unlock(&dcache_lock);
- fsnotify_inoderemove(inode);
+ if (!inode->i_nlink)
+ fsnotify_inoderemove(inode);
if (dentry->d_op && dentry->d_op->d_iput)
dentry->d_op->d_iput(dentry, inode);
else