From: Sage Weil Date: Thu, 12 May 2016 17:30:25 +0000 (-0400) Subject: os/bluestore: define block_size, block_mask, block_order globally X-Git-Tag: v11.0.0~359^2~92 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8e900f2f4c435d659a3401c38f05a600679068ef;p=ceph.git os/bluestore: define block_size, block_mask, block_order globally These don't change, no need to declare them all over the place. Signed-off-by: Sage Weil --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index bd04d00c7ef..ac7af67a033 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -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::iterator p = bluefs_extents.begin(); p != bluefs_extents.end(); p++) diff --git a/src/os/bluestore/BlueStore.h b/src/os/bluestore/BlueStore.h index 6aa260ee414..b54f3f8bc09 100644 --- a/src/os/bluestore/BlueStore.h +++ b/src/os/bluestore/BlueStore.h @@ -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