]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
client: use layout.get_period() helper
authorPatrick Donnelly <pdonnell@redhat.com>
Thu, 26 May 2016 19:08:52 +0000 (15:08 -0400)
committerGreg Farnum <gfarnum@redhat.com>
Sun, 12 Jun 2016 21:06:57 +0000 (14:06 -0700)
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit b331d12a43a4177369a003c3ab9d525da6a89950)

Signed-off-by: Greg Farnum <gfarnum@redhat.com
src/client/Client.cc
src/osdc/Striper.cc

index f2d9c4fdd0877d23d4f5897887dd5968f39a40de..5d866bcb2638c34e467ef8646c57833f1f67c514 100644 (file)
@@ -7635,7 +7635,6 @@ Fh *Client::_create_fh(Inode *in, int flags, int cmode)
   }
 
   const md_config_t *conf = cct->_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<uint64_t> alignments;
-  alignments.push_back(p);
+  alignments.push_back(in->layout.get_period());
   alignments.push_back(in->layout.stripe_unit);
   f->readahead.set_alignments(alignments);
 
index 2c835209eeb95a1bbe936b6a803dddb6bfda48fc..e2af5c16b4100242ecdaa877d6ecc1ba2b1f08d9 100644 (file)
@@ -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;