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

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

index 0d7550fb29df65fe211a420ba35ad6590ea19fd7..67e053f0b93f44d4cbec356961f94747245ceb61 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;