ceph: cleanup ceph_readdir_prepopulate()
authorYan, Zheng <zyan@redhat.com>
Wed, 26 Jul 2017 03:17:29 +0000 (11:17 +0800)
committerIlya Dryomov <idryomov@gmail.com>
Wed, 6 Sep 2017 17:56:45 +0000 (19:56 +0200)
In LSSNAP case, req->r_dentry is already set to snapdir dentry.

Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
fs/ceph/inode.c

index 220dfd8..2c5db36 100644 (file)
@@ -1477,7 +1477,6 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req,
        struct dentry *dn;
        struct inode *in;
        int err = 0, skipped = 0, ret, i;
-       struct inode *snapdir = NULL;
        struct ceph_mds_request_head *rhead = req->r_request->front.iov_base;
        u32 frag = le32_to_cpu(rhead->args.readdir.frag);
        u32 last_hash = 0;
@@ -1510,8 +1509,6 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req,
        }
 
        if (le32_to_cpu(rinfo->head->op) == CEPH_MDS_OP_LSSNAP) {
-               snapdir = ceph_get_snapdir(d_inode(parent));
-               parent = d_find_alias(snapdir);
                dout("readdir_prepopulate %d items under SNAPDIR dn %p\n",
                     rinfo->dir_nr, parent);
        } else {
@@ -1650,10 +1647,6 @@ out:
                req->r_readdir_cache_idx = cache_ctl.index;
        }
        ceph_readdir_cache_release(&cache_ctl);
-       if (snapdir) {
-               iput(snapdir);
-               dput(parent);
-       }
        dout("readdir_prepopulate done\n");
        return err;
 }