summaryrefslogtreecommitdiff
path: root/include/linux/ceph/ceph_fs.h
diff options
context:
space:
mode:
authorYan, Zheng <zyan@redhat.com>2017-04-24 06:56:50 +0300
committerIlya Dryomov <idryomov@gmail.com>2017-05-04 10:19:24 +0300
commitb50c2de51e611da90cf3cf04c058f7e9bbe79e93 (patch)
tree709577ea2cd61fc1e8402ca7e2db67043a843ff4 /include/linux/ceph/ceph_fs.h
parente010dd0ada619ed6d3411de7371fba12c1baa48b (diff)
downloadlinux-b50c2de51e611da90cf3cf04c058f7e9bbe79e93.tar.xz
ceph: choose readdir frag based on previous readdir reply
The dirfragtree is lazily updated, it's not always accurate. Infinite loops happens in following circumstance. - client send request to read frag A - frag A has been fragmented into frag B and C. So mds fills the reply with contents of frag B - client wants to read next frag C. ceph_choose_frag(frag value of C) return frag A. The fix is using previous readdir reply to calculate next readdir frag when possible. Signed-off-by: "Yan, Zheng" <zyan@redhat.com> Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Diffstat (limited to 'include/linux/ceph/ceph_fs.h')
0 files changed, 0 insertions, 0 deletions