]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: Warn when expected_num_objects will have no effect
authorDouglas Fuller <dfuller@redhat.com>
Thu, 28 Jun 2018 15:21:38 +0000 (11:21 -0400)
committerNathan Cutler <ncutler@suse.com>
Sun, 2 Sep 2018 11:53:33 +0000 (13:53 +0200)
The expected_num_objects argument to ceph osd pool create is
only effective on filestore pools when merging is disabled
(filestore_merge_threshold < 0). Warn and disallow pool creation
in this situation.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
(cherry picked from commit 4c108a50e5f74a56965d49687a8c817f4a5ce42b)

src/mon/OSDMonitor.cc

index 592aa496a289832e549da1e16ba06d04776cbe25..ea41571c777075c159a8adbbf11f6f49eb5d3b8e 100644 (file)
@@ -11063,6 +11063,14 @@ bool OSDMonitor::prepare_command_impl(MonOpRequestRef op,
       goto reply;
     }
 
+    if (expected_num_objects > 0 &&
+       cct->_conf->osd_objectstore == "filestore" &&
+       cct->_conf->filestore_merge_threshold > 0) {
+      ss << "'expected_num_objects' requires 'filestore_merge_threshold < 0'";
+      err = -EINVAL;
+      goto reply;
+    }
+
     int64_t fast_read_param;
     cmd_getval(cct, cmdmap, "fast_read", fast_read_param, int64_t(-1));
     FastReadType fast_read = FAST_READ_DEFAULT;