diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-19 22:54:29 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-19 22:54:29 -0400 |
commit | f805fbdaacf4367ce566743a665622387768ac0d (patch) | |
tree | 006c7be5683f8cad7be02824827e0104e15604b4 /fs/dcache.c | |
parent | 875bd5ab01bc0b760fd4e97838931cd2e7456cbd (diff) |
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>
Diffstat (limited to 'fs/dcache.c')
-rw-r--r-- | fs/dcache.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/dcache.c b/fs/dcache.c index 7376b61269fb..fb10386c59be 100644 --- a/fs/dcache.c +++ b/fs/dcache.c | |||
@@ -102,7 +102,8 @@ static inline void dentry_iput(struct dentry * dentry) | |||
102 | list_del_init(&dentry->d_alias); | 102 | list_del_init(&dentry->d_alias); |
103 | spin_unlock(&dentry->d_lock); | 103 | spin_unlock(&dentry->d_lock); |
104 | spin_unlock(&dcache_lock); | 104 | spin_unlock(&dcache_lock); |
105 | fsnotify_inoderemove(inode); | 105 | if (!inode->i_nlink) |
106 | fsnotify_inoderemove(inode); | ||
106 | if (dentry->d_op && dentry->d_op->d_iput) | 107 | if (dentry->d_op && dentry->d_op->d_iput) |
107 | dentry->d_op->d_iput(dentry, inode); | 108 | dentry->d_op->d_iput(dentry, inode); |
108 | else | 109 | else |