]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: set recovery_priority=5 on fs metadata pool
authorSage Weil <sage@redhat.com>
Mon, 22 Jul 2019 20:23:15 +0000 (15:23 -0500)
committerSage Weil <sage@redhat.com>
Tue, 23 Jul 2019 14:23:58 +0000 (09:23 -0500)
Signed-off-by: Sage Weil <sage@redhat.com>
src/mon/FSCommands.cc
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h

index 9abb0e44a4a2fd8b7bce4e977421843c2c0fd215..86cde4ad18155320de5710aa0d9d869d0b7fd290 100644 (file)
@@ -254,6 +254,9 @@ class FsNewHandler : public FileSystemCommandHandler
     mon->osdmon()->do_application_enable(metadata,
                                         pg_pool_t::APPLICATION_NAME_CEPHFS,
                                         "metadata", fs_name);
+    mon->osdmon()->do_set_pool_opt(metadata,
+                                  pool_opts_t::RECOVERY_PRIORITY,
+                                  static_cast<int64_t>(5));
     mon->osdmon()->propose_pending();
 
     // All checks passed, go ahead and create.
index 0bc73206f8e627636fe779751786fffb86104fad..7c856574501fee4e0bf1bc1d04daf9dd65e5ab2c 100644 (file)
@@ -4355,6 +4355,15 @@ void OSDMonitor::do_application_enable(int64_t pool_id,
   pending_inc.new_pools[pool_id] = p;
 }
 
+void OSDMonitor::do_set_pool_opt(int64_t pool_id,
+                                pool_opts_t::key_t opt,
+                                pool_opts_t::value_t val)
+{
+  auto p = pending_inc.new_pools.try_emplace(
+    pool_id, *osdmap.get_pg_pool(pool_id));
+  p.first->second.opts.set(opt, val);
+}
+
 unsigned OSDMonitor::scan_for_creating_pgs(
   const mempool::osdmap::map<int64_t,pg_pool_t>& pools,
   const mempool::osdmap::set<int64_t>& removed_pools,
index 896f4ee7f63c2a09d9c1bb26e85d723cccdff61d..5cdcdf8c2287520e5f9f78a91fd78734756bdf94 100644 (file)
@@ -748,6 +748,8 @@ public:
   void do_application_enable(int64_t pool_id, const std::string &app_name,
                             const std::string &app_key="",
                             const std::string &app_value="");
+  void do_set_pool_opt(int64_t pool_id, pool_opts_t::key_t opt,
+                      pool_opts_t::value_t);
 
   void add_flag(int flag) {
     if (!(osdmap.flags & flag)) {