]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/MDSMonitor: print a note when adding data pool to a file system that doesn't... 52900/head
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:49:44 +0000 (17:49 +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 ca336de089f85dd75860d9a9bad9e0ae7d09ec91..1c80c1c307bfcb37483eb396d07353ef00a56fae 100644 (file)
@@ -1489,6 +1489,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 84f2d7d14b8e3d7d4d3fe1206118de02bccbe83a..54db3c86291ae6b4541f97e326388c0a48c4940a 100644 (file)
@@ -1421,8 +1421,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