]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: define block_size, block_mask, block_order globally
authorSage Weil <sage@redhat.com>
Thu, 12 May 2016 17:30:25 +0000 (13:30 -0400)
committerSage Weil <sage@redhat.com>
Wed, 1 Jun 2016 15:38:47 +0000 (11:38 -0400)
These don't change, no need to declare them all over the place.

Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc
src/os/bluestore/BlueStore.h

index bd04d00c7ef4ddb13185cf9cdddc056b86d8009d..ac7af67a03358cbf3475c67eccfe993514c73a50 100644 (file)
@@ -979,6 +979,14 @@ int BlueStore::_open_bdev(bool create)
     if (r < 0)
       goto fail_close;
   }
+
+  // initialize global block parameters
+  block_size = bdev->get_block_size();
+  block_mask = ~(block_size - 1);
+  block_size_order = 0;
+  for (uint64_t t = 1; t < block_size; ++t) {
+    ++block_size_order;
+  }
   return 0;
 
  fail_close:
@@ -2561,7 +2569,6 @@ void BlueStore::_sync()
 int BlueStore::statfs(struct statfs *buf)
 {
   memset(buf, 0, sizeof(*buf));
-  uint64_t block_size  = bdev->get_block_size();
   uint64_t bluefs_len = 0;
   for (interval_set<uint64_t>::iterator p = bluefs_extents.begin();
       p != bluefs_extents.end(); p++)
index 6aa260ee4140fc7c39ccb034434efc53696a828d..b54f3f8bc099080589d67a28ed919e2671951a16 100644 (file)
@@ -594,6 +594,10 @@ private:
   Checksummer *checksummer;
   int csum_type;
 
+  uint64_t block_size;     ///< block size of block device (power of 2)
+  uint64_t block_mask;     ///< mask to get just the block offset
+  size_t block_size_order; ///< bits to shift to get block size
+
   // --------------------------------------------------------
   // private methods