From: Yan, Zheng Date: Wed, 20 Dec 2017 01:56:50 +0000 (+0800) Subject: mds: respect mds_client_writeable_range_max_inc_objs config X-Git-Tag: v13.0.2~722^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=ee11b6cd9ce97820c4f53ed98380bbd63fab891f;p=ceph.git mds: respect mds_client_writeable_range_max_inc_objs config get_layout_size_increment() return layout.get_period(). A period contain layout.stripe_count objects. The config is for limiting number of objects need to probe when recovering a file. Fixes: http://tracker.ceph.com/issues/22492 Signed-off-by: "Yan, Zheng" --- diff --git a/src/mds/Locker.cc b/src/mds/Locker.cc index 1a82d0e8d6ff..1fe45bcef073 100644 --- a/src/mds/Locker.cc +++ b/src/mds/Locker.cc @@ -2298,7 +2298,7 @@ uint64_t Locker::calc_new_max_size(inode_t *pi, uint64_t size) uint64_t new_max = (size + 1) << 1; uint64_t max_inc = g_conf->mds_client_writeable_range_max_inc_objs; if (max_inc > 0) { - max_inc *= pi->get_layout_size_increment(); + max_inc *= pi->layout.object_size; new_max = std::min(new_max, size + max_inc); } return ROUND_UP_TO(new_max, pi->get_layout_size_increment());