From: xie xingguo Date: Mon, 26 Jun 2017 01:29:32 +0000 (+0800) Subject: os/bluestore: make sure min_alloc_size is power of 2 aligned X-Git-Tag: ses5-milestone8^2~13^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b83b9018827f781b288c511dbfad2328137f0bc3;p=ceph.git os/bluestore: make sure min_alloc_size is power of 2 aligned BlueStore requires that min_alloc_size must be power of 2 aligned. Signed-off-by: xie xingguo --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 2e3da75fc144..90886fe00769 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5077,6 +5077,17 @@ int BlueStore::mkfs() 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);