diff options
author | Sergey Vlasov <vsu@altlinux.ru> | 2006-06-12 21:53:23 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-06-12 14:29:04 -0700 |
commit | 86bc843a268058df558844b6bf64531617fbc698 (patch) | |
tree | 159a320d16495b1328aa6c7822ebbb79c5375da7 /mm/shmem.c | |
parent | cfd95a9cf58cd9e92d4c23b5ee20b07a3d121477 (diff) | |
download | linux-86bc843a268058df558844b6bf64531617fbc698.tar.gz linux-86bc843a268058df558844b6bf64531617fbc698.tar.bz2 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.c | 1 |
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); } |