]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
os/bluestore: refuse to mkfs or mount if osd_max_object_size >= MAX_OBJECT_SIZE
authorSage Weil <sage@redhat.com>
Fri, 9 Aug 2019 15:57:14 +0000 (10:57 -0500)
committerSage Weil <sage@redhat.com>
Fri, 9 Aug 2019 15:57:14 +0000 (10:57 -0500)
BlueStore has its own object size limit (2^32-1).  Make sure the cluster
limit is below that or refuse to mkfs or mount.

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

index dd4e1106c28924383111946ea0e0259d7af27527..0d564036c58fa31f281aee423e8fd50f66443c74 100644 (file)
@@ -6016,6 +6016,13 @@ int BlueStore::mkfs()
   int r;
   uuid_d old_fsid;
 
+  if (cct->_conf->osd_max_object_size > OBJECT_MAX_SIZE) {
+    derr << __func__ << " osd_max_object_size "
+        << cct->_conf->osd_max_object_size << " > bluestore max "
+        << OBJECT_MAX_SIZE << dendl;
+    return -EINVAL;
+  }
+
   {
     string done;
     r = read_meta("mkfs_done", &done);
@@ -6650,6 +6657,13 @@ int BlueStore::_mount(bool kv_only, bool open_db)
     }
   }
 
+  if (cct->_conf->osd_max_object_size > OBJECT_MAX_SIZE) {
+    derr << __func__ << " osd_max_object_size "
+        << cct->_conf->osd_max_object_size << " > bluestore max "
+        << OBJECT_MAX_SIZE << dendl;
+    return -EINVAL;
+  }
+
   int r = _open_path();
   if (r < 0)
     return r;