fuse: remove unnecessary dentry_unhash on rmdir, dir rename
authorSage Weil <sage@newdream.net>
Fri, 27 May 2011 20:42:15 +0000 (13:42 -0700)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 28 May 2011 05:02:53 +0000 (01:02 -0400)
Fuse has no problems with references to unlinked directories.

CC: Miklos Szeredi <miklos@szeredi.hu>
CC: fuse-devel@lists.sourceforge.net
Signed-off-by: Sage Weil <sage@newdream.net>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/fuse/dir.c

index 0d0e3faddcfa0bbd9ddac898d9e7caa0fc2b57bf..d501607145951d7b5f4b1ac62e230eae27e6e452 100644 (file)
@@ -667,8 +667,6 @@ static int fuse_rmdir(struct inode *dir, struct dentry *entry)
        if (IS_ERR(req))
                return PTR_ERR(req);
 
-       dentry_unhash(entry);
-
        req->in.h.opcode = FUSE_RMDIR;
        req->in.h.nodeid = get_node_id(dir);
        req->in.numargs = 1;
@@ -694,9 +692,6 @@ static int fuse_rename(struct inode *olddir, struct dentry *oldent,
        struct fuse_conn *fc = get_fuse_conn(olddir);
        struct fuse_req *req = fuse_get_req(fc);
 
-       if (newent->d_inode && S_ISDIR(newent->d_inode->i_mode))
-               dentry_unhash(newent);
-
        if (IS_ERR(req))
                return PTR_ERR(req);