From 4c108a50e5f74a56965d49687a8c817f4a5ce42b Mon Sep 17 00:00:00 2001 From: Douglas Fuller Date: Thu, 28 Jun 2018 11:21:38 -0400 Subject: [PATCH] mon/OSDMonitor: Warn when expected_num_objects will have no effect 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 --- src/mon/OSDMonitor.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index f90f32924590b..16c7af2ad0529 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -11119,6 +11119,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; -- 2.39.5