[PATCH] tmpfs: Decrement i_nlink correctly in shmem_rmdir()
authorSergey Vlasov <vsu@altlinux.ru>
Mon, 12 Jun 2006 20:53:23 +0000 (21:53 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Mon, 12 Jun 2006 21:29:04 +0000 (14:29 -0700)
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>
mm/shmem.c

index 73f7a9dfcd371c5b4e4c97abab651dd6bfd73da6..1e43c8a865ba76924170f34471f32ad5a3cbdfdb 100644 (file)
@@ -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);
 }