]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: require that bluefs_alloc_size be multiple of min_alloc_size
authorSage Weil <sage@redhat.com>
Fri, 8 Sep 2017 22:05:29 +0000 (18:05 -0400)
committerSage Weil <sage@redhat.com>
Fri, 8 Sep 2017 22:05:29 +0000 (18:05 -0400)
Signed-off-by: Sage Weil <sage@redhat.com>
src/os/bluestore/BlueStore.cc

index 868c0f6a4db9e79e04a27610b9d2ff5217bbdc81..9c2a8c72fe77d73be8b85b6b8fc393f1c04536c3 100644 (file)
@@ -4555,6 +4555,13 @@ int BlueStore::_open_db(bool create)
        bdev->get_size() * (cct->_conf->bluestore_bluefs_min_ratio +
                            cct->_conf->bluestore_bluefs_gift_ratio);
       initial = MAX(initial, cct->_conf->bluestore_bluefs_min);
+      if (cct->_conf->bluefs_alloc_size % min_alloc_size) {
+       derr << __func__ << " bluefs_alloc_size 0x" << std::hex
+            << cct->_conf->bluefs_alloc_size << " is not a multiple of "
+            << "min_alloc_size 0x" << min_alloc_size << std::dec << dendl;
+       r = -EINVAL;
+       goto free_bluefs;
+      }
       // align to bluefs's alloc_size
       initial = P2ROUNDUP(initial, cct->_conf->bluefs_alloc_size);
       // put bluefs in the middle of the device in case it is an HDD