From d812569dbdde9f340f3bdcc0a9e966c4d04ddfc5 Mon Sep 17 00:00:00 2001 From: Douglas Fuller Date: Wed, 23 Aug 2017 16:34:07 -0400 Subject: [PATCH] mon/OSDMonitor: Add key/value arguments for pool tagging Enable the OSDMon to add keys and values to pool tags by application. Signed-off-by: Douglas Fuller --- src/mon/OSDMonitor.cc | 10 ++++++++-- src/mon/OSDMonitor.h | 4 +++- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index f87bba81d043d..b71a682a806dc 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -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; } diff --git a/src/mon/OSDMonitor.h b/src/mon/OSDMonitor.h index 29814df0b51ef..e2bc85fba628a 100644 --- a/src/mon/OSDMonitor.h +++ b/src/mon/OSDMonitor.h @@ -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)) { -- 2.39.5