]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mon/MDSMonitor: print a note when adding data pool to a file system that doesn't...
authorLeonid Usov <leonid.usov@ibm.com>
Thu, 3 Aug 2023 16:47:31 +0000 (19:47 +0300)
committerLeonid Usov <leonid.usov@ibm.com>
Mon, 14 Aug 2023 14:51:15 +0000 (17:51 +0300)
The note will only be printed if the pool has pg_autoscale_mode set to ON and the bulk flag is missing

Signed-off-by: Leonid Usov <leonid.usov@ibm.com>
(cherry picked from commit 7d09154ce87d24993f605c8bbf829d6415b89562)

src/mon/FSCommands.cc
src/mon/MDSMonitor.cc

index b7cf506fc2666eaa1340217916da4f6763564043..65d2c356b687bee4cadd2ae2b5a87b115500579c 100644 (file)
@@ -1660,6 +1660,14 @@ int FileSystemCommandHandler::_check_pool(
     return -EINVAL;
   }
 
+  if (type != POOL_METADATA && pool->pg_autoscale_mode == pg_pool_t::pg_autoscale_mode_t::ON && !pool->has_flag(pg_pool_t::FLAG_BULK)) {
+    // TODO: consider issuing an info event in this case
+    *ss << "  Pool '" << pool_name << "' (id '" << pool_id
+       << "') has pg autoscale mode 'on' but is not marked as bulk." << std::endl
+       << "  Consider setting the flag by running" << std::endl
+       << "    # ceph osd pool set " << pool_name << " bulk true" << std::endl;
+  }
+
   // Nothing special about this pool, so it is permissible
   return 0;
 }
index 091206a684a9194b78a93d90febeaa57a24f647d..57188b845c5e138856192b6fb17884446d4a006e 100644 (file)
@@ -1438,8 +1438,7 @@ bool MDSMonitor::prepare_command(MonOpRequestRef op)
 out:
   dout(4) << __func__ << " done, r=" << r << dendl;
   /* Compose response */
-  string rs;
-  getline(ss, rs);
+  string rs = ss.str();
 
   if (r >= 0) {
     // success.. delay reply