From: Patrick Donnelly Date: Thu, 26 May 2016 19:08:52 +0000 (-0400) Subject: client: use layout.get_period() helper X-Git-Tag: v10.2.2~7^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=e4104689b2698feccd9ea8432f1d57847effbd07;p=ceph.git client: use layout.get_period() helper Signed-off-by: Patrick Donnelly (cherry picked from commit b331d12a43a4177369a003c3ab9d525da6a89950) Signed-off-by: Greg Farnum _conf; - loff_t p = in->layout.stripe_count * in->layout.object_size; f->readahead.set_trigger_requests(1); f->readahead.set_min_readahead_size(conf->client_readahead_min); uint64_t max_readahead = Readahead::NO_LIMIT; @@ -7643,11 +7642,11 @@ Fh *Client::_create_fh(Inode *in, int flags, int cmode) max_readahead = MIN(max_readahead, (uint64_t)conf->client_readahead_max_bytes); } if (conf->client_readahead_max_periods) { - max_readahead = MIN(max_readahead, ((uint64_t)conf->client_readahead_max_periods) * p); + max_readahead = MIN(max_readahead, in->layout.get_period()*(uint64_t)conf->client_readahead_max_periods); } f->readahead.set_max_readahead_size(max_readahead); vector alignments; - alignments.push_back(p); + alignments.push_back(in->layout.get_period()); alignments.push_back(in->layout.stripe_unit); f->readahead.set_alignments(alignments); diff --git a/src/osdc/Striper.cc b/src/osdc/Striper.cc index 2c835209eeb9..e2af5c16b410 100644 --- a/src/osdc/Striper.cc +++ b/src/osdc/Striper.cc @@ -241,10 +241,9 @@ uint64_t Striper::object_truncate_size(CephContext *cct, uint64_t Striper::get_num_objects(const file_layout_t& layout, uint64_t size) { - __u32 object_size = layout.object_size; __u32 stripe_unit = layout.stripe_unit; __u32 stripe_count = layout.stripe_count; - uint64_t period = (uint64_t)stripe_count * object_size; + uint64_t period = layout.get_period(); uint64_t num_periods = (size + period - 1) / period; uint64_t remainder_bytes = size % period; uint64_t remainder_objs = 0;