summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2016-04-27 17:32:34 +0800
committerIlya Dryomov <idryomov@gmail.com>2016-05-26 01:15:34 +0200
commita78600e7c4fb47fb5ef34265456b731fde27a9c3 (patch)
tree724fcddad82738b0ffefc4f29740e9ea69ed0de2
parent1cd42a429174689c0df1c37b642654a1ab4d1506 (diff)
downloadlinux-stable-a78600e7c4fb47fb5ef34265456b731fde27a9c3.tar.gz
linux-stable-a78600e7c4fb47fb5ef34265456b731fde27a9c3.tar.bz2
linux-stable-a78600e7c4fb47fb5ef34265456b731fde27a9c3.zip
ceph: simplify 'offset in frag'
don't distinguish leftmost frag from other frags. always use 2 as first entry's offset. Signed-off-by: Yan, Zheng <zyan@redhat.com>
-rw-r--r--fs/ceph/dir.c12
-rw-r--r--fs/ceph/inode.c5
2 files changed, 4 insertions, 13 deletions
diff --git a/fs/ceph/dir.c b/fs/ceph/dir.c
index 734508be1526..31a2cdf39210 100644
--- a/fs/ceph/dir.c
+++ b/fs/ceph/dir.c
@@ -414,10 +414,7 @@ more:
if (req->r_reply_info.dir_end) {
kfree(fi->last_name);
fi->last_name = NULL;
- if (ceph_frag_is_rightmost(frag))
- fi->next_offset = 2;
- else
- fi->next_offset = 0;
+ fi->next_offset = 2;
} else {
err = note_last_dentry(fi,
rinfo->dir_dname[rinfo->dir_nr-1],
@@ -468,7 +465,7 @@ more:
/* more frags? */
if (!ceph_frag_is_rightmost(frag)) {
frag = ceph_frag_next(frag);
- off = 0;
+ off = 2;
ctx->pos = ceph_make_fpos(frag, off);
dout("readdir next frag is %x\n", frag);
goto more;
@@ -511,10 +508,7 @@ static void reset_readdir(struct ceph_file_info *fi, unsigned frag)
fi->last_name = NULL;
fi->dir_release_count = 0;
fi->readdir_cache_idx = -1;
- if (ceph_frag_is_leftmost(frag))
- fi->next_offset = 2; /* compensate for . and .. */
- else
- fi->next_offset = 0;
+ fi->next_offset = 2; /* compensate for . and .. */
fi->flags &= ~CEPH_F_ATEND;
}
diff --git a/fs/ceph/inode.c b/fs/ceph/inode.c
index b906e02cddad..51ce5ce59f04 100644
--- a/fs/ceph/inode.c
+++ b/fs/ceph/inode.c
@@ -1405,10 +1405,7 @@ int ceph_readdir_prepopulate(struct ceph_mds_request *req,
dout("readdir_prepopulate got new frag %x -> %x\n",
frag, le32_to_cpu(rinfo->dir_dir->frag));
frag = le32_to_cpu(rinfo->dir_dir->frag);
- if (ceph_frag_is_leftmost(frag))
- req->r_readdir_offset = 2;
- else
- req->r_readdir_offset = 0;
+ req->r_readdir_offset = 2;
}
if (le32_to_cpu(rinfo->head->op) == CEPH_MDS_OP_LSSNAP) {