]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: Warn if missing expected_num_objects 23072/head
authorDouglas Fuller <dfuller@redhat.com>
Fri, 29 Jun 2018 17:55:31 +0000 (13:55 -0400)
committerDouglas Fuller <dfuller@redhat.com>
Thu, 26 Jul 2018 17:14:44 +0000 (13:14 -0400)
When creating a pool on filestore, warn if the user appears to be
creating a pool to store a large number of objects but omitted the
expected_num_objects parameter. Create the pool anyway.

Fixes: http://tracker.ceph.com/issues/24687
Signed-off-by: Douglas Fuller <dfuller@redhat.com>
src/mon/OSDMonitor.cc

index 16c7af2ad052980bff0ddeb18802613e6ae071af..6da6e5a5c9c354fbd319dcf834aedd5b44fcbcd2 100644 (file)
@@ -11127,6 +11127,17 @@ 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) {
+      int osds = osdmap.get_num_osds();
+      if (osds && (pg_num >= 1024 || pg_num / osds >= 100)) {
+        ss << "For better initial performance on pools expected to store a "
+          << "large number of objects, consider supplying the "
+          << "expected_num_objects parameter when creating the pool.\n";
+      }
+    }
+
     int64_t fast_read_param;
     cmd_getval(cct, cmdmap, "fast_read", fast_read_param, int64_t(-1));
     FastReadType fast_read = FAST_READ_DEFAULT;