summaryrefslogtreecommitdiffstats
path: root/mm/shmem.c
diff options
context:
space:
mode:
authorSergey Vlasov <vsu@altlinux.ru>2006-06-12 22:53:23 +0200
committerLinus Torvalds <torvalds@g5.osdl.org>2006-06-12 23:29:04 +0200
commit86bc843a268058df558844b6bf64531617fbc698 (patch)
tree159a320d16495b1328aa6c7822ebbb79c5375da7 /mm/shmem.c
parent[PATCH] tmpfs: time granularity fix for [acm]time going backwards (diff)
downloadlinux-86bc843a268058df558844b6bf64531617fbc698.tar.xz
linux-86bc843a268058df558844b6bf64531617fbc698.zip
[PATCH] tmpfs: Decrement i_nlink correctly in shmem_rmdir()
shmem_rmdir() must undo the increment of i_nlink done in shmem_get_inode() for directories, otherwise at least IN_DELETE_SELF inotify event generation is broken. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'mm/shmem.c')
-rw-r--r--mm/shmem.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/mm/shmem.c b/mm/shmem.c
index 73f7a9dfcd37..1e43c8a865ba 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -1780,6 +1780,7 @@ static int shmem_rmdir(struct inode *dir, struct dentry *dentry)
if (!simple_empty(dentry))
return -ENOTEMPTY;
+ dentry->d_inode->i_nlink--;
dir->i_nlink--;
return shmem_unlink(dir, dentry);
}