]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon/OSDMonitor: Add key/value arguments for pool tagging
authorDouglas Fuller <dfuller@redhat.com>
Wed, 23 Aug 2017 20:34:07 +0000 (16:34 -0400)
committerDouglas Fuller <dfuller@redhat.com>
Wed, 25 Oct 2017 19:34:13 +0000 (15:34 -0400)
Enable the OSDMon to add keys and values to pool tags by application.

Signed-off-by: Douglas Fuller <dfuller@redhat.com>
src/mon/OSDMonitor.cc
src/mon/OSDMonitor.h

index f87bba81d043df8d656693841035a48c63950808..b71a682a806dc3bee07423e488c477d364e7e96d 100644 (file)
@@ -3130,7 +3130,9 @@ void OSDMonitor::check_pg_creates_sub(Subscription *sub)
 }
 
 void OSDMonitor::do_application_enable(int64_t pool_id,
-                                       const std::string &app_name)
+                                       const std::string &app_name,
+                                      const std::string &app_key,
+                                      const std::string &app_value)
 {
   assert(paxos->is_plugged() && is_writeable());
 
@@ -3147,7 +3149,11 @@ void OSDMonitor::do_application_enable(int64_t pool_id,
     p = pending_inc.new_pools[pool_id];
   }
 
-  p.application_metadata.insert({app_name, {}});
+  if (app_key.empty()) {
+    p.application_metadata.insert({app_name, {}});
+  } else {
+    p.application_metadata.insert({app_name, {{app_key, app_value}}});
+  }
   p.last_change = pending_inc.epoch;
   pending_inc.new_pools[pool_id] = p;
 }
index 29814df0b51efcf4f4d6abc9a67b2044aefc710d..e2bc85fba628a0d639b3ec12d1659581c14b085d 100644 (file)
@@ -539,7 +539,9 @@ public:
   void check_osdmap_sub(Subscription *sub);
   void check_pg_creates_sub(Subscription *sub);
 
-  void do_application_enable(int64_t pool_id, const std::string &app_name);
+  void do_application_enable(int64_t pool_id, const std::string &app_name,
+                            const std::string &app_key="",
+                            const std::string &app_value="");
 
   void add_flag(int flag) {
     if (!(osdmap.flags & flag)) {