From 37929849863c60531bcdbf80124e751504ac710f Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Fri, 8 Sep 2017 18:06:05 -0400 Subject: [PATCH] os/bluestore: mkfs: choose min_alloc_size earlier Signed-off-by: Sage Weil (cherry picked from commit 3efde01586776b23bbac1e663ae5baf6500acee4) --- src/os/bluestore/BlueStore.cc | 44 +++++++++++++++++------------------ 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index d04872788dc36..88fe1b4e9e5fa 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5157,6 +5157,28 @@ int BlueStore::mkfs() if (r < 0) goto out_close_fsid; + // choose min_alloc_size + if (cct->_conf->bluestore_min_alloc_size) { + min_alloc_size = cct->_conf->bluestore_min_alloc_size; + } else { + assert(bdev); + if (bdev->is_rotational()) { + min_alloc_size = cct->_conf->bluestore_min_alloc_size_hdd; + } else { + min_alloc_size = cct->_conf->bluestore_min_alloc_size_ssd; + } + } + + // make sure min_alloc_size is power of 2 aligned. + if (!ISP2(min_alloc_size)) { + derr << __func__ << " min_alloc_size 0x" + << std::hex << min_alloc_size << std::dec + << " is not power of 2 aligned!" + << dendl; + r = -EINVAL; + goto out_close_bdev; + } + r = _open_db(true); if (r < 0) goto out_close_bdev; @@ -5174,28 +5196,6 @@ int BlueStore::mkfs() t->set(PREFIX_SUPER, "blobid_max", bl); } - // choose min_alloc_size - if (cct->_conf->bluestore_min_alloc_size) { - min_alloc_size = cct->_conf->bluestore_min_alloc_size; - } else { - assert(bdev); - if (bdev->is_rotational()) { - min_alloc_size = cct->_conf->bluestore_min_alloc_size_hdd; - } else { - min_alloc_size = cct->_conf->bluestore_min_alloc_size_ssd; - } - } - - // make sure min_alloc_size is power of 2 aligned. - if (!ISP2(min_alloc_size)) { - derr << __func__ << " min_alloc_size 0x" - << std::hex << min_alloc_size << std::dec - << " is not power of 2 aligned!" - << dendl; - r = -EINVAL; - goto out_close_fm; - } - { bufferlist bl; ::encode((uint64_t)min_alloc_size, bl); -- 2.39.5