From: Sage Weil Date: Fri, 9 Aug 2019 15:57:14 +0000 (-0500) Subject: os/bluestore: refuse to mkfs or mount if osd_max_object_size >= MAX_OBJECT_SIZE X-Git-Tag: v14.2.5~136^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=3e2237a76c976b799b13ec4760bbc4782b3d3470;p=ceph.git os/bluestore: refuse to mkfs or mount if osd_max_object_size >= MAX_OBJECT_SIZE 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 (cherry picked from commit 377fdb1484e9ed34c3d46d2a9b99df926531c675) --- diff --git a/src/os/bluestore/BlueStore.cc b/src/os/bluestore/BlueStore.cc index 60baa85da09..086ae5562fa 100644 --- a/src/os/bluestore/BlueStore.cc +++ b/src/os/bluestore/BlueStore.cc @@ -5968,6 +5968,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); @@ -6594,6 +6601,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;