Wrapfs: drop our dentry in ->rmdir
authorErez Zadok <ezk@cs.sunysb.edu>
Fri, 9 Sep 2011 04:45:23 +0000 (00:45 -0400)
committerErez Zadok <ezk@cs.sunysb.edu>
Fri, 9 Sep 2011 04:45:23 +0000 (00:45 -0400)
Also clear nlinks on our inode.

Signed-off-by: Erez Zadok <ezk@cs.sunysb.edu>
fs/wrapfs/inode.c

index 7f26255b4d51300d65694be9bb41e3ebf4b3a9ef..28f5ab4bc123dbef5d77425142d84f72247f4157 100644 (file)
@@ -220,6 +220,9 @@ static int wrapfs_rmdir(struct inode *dir, struct dentry *dentry)
        if (err)
                goto out;
 
+       d_drop(dentry); /* drop our dentry on success (why not VFS's job?) */
+       if (dentry->d_inode)
+               clear_nlink(dentry->d_inode);
        fsstack_copy_attr_times(dir, lower_dir_dentry->d_inode);
        fsstack_copy_inode_size(dir, lower_dir_dentry->d_inode);
        dir->i_nlink = lower_dir_dentry->d_inode->i_nlink;