From e8ebcb79a462de29bcbabe40ac855634753bb2be Mon Sep 17 00:00:00 2001 From: Ma Jianpeng Date: Wed, 16 Jul 2014 17:48:34 -0700 Subject: [PATCH] mon: OSDMonitor: add "osd pool get erasure_code_profile" command Enable us to obtain the erasure-code-profile for a given erasure-pool. Signed-off-by: Ma Jianpeng Signed-off-by: Sage Weil --- src/mon/MonCommands.h | 2 +- src/mon/OSDMonitor.cc | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/mon/MonCommands.h b/src/mon/MonCommands.h index f429e0ff59ef1..627546b4f0503 100644 --- a/src/mon/MonCommands.h +++ b/src/mon/MonCommands.h @@ -571,7 +571,7 @@ COMMAND("osd pool rename " \ "rename to ", "osd", "rw", "cli,rest") COMMAND("osd pool get " \ "name=pool,type=CephPoolname " \ - "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|auid|target_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age", \ + "name=var,type=CephChoices,strings=size|min_size|crash_replay_interval|pg_num|pgp_num|crush_ruleset|hit_set_type|hit_set_period|hit_set_count|hit_set_fpp|auid|target_max_objects|target_max_bytes|cache_target_dirty_ratio|cache_target_full_ratio|cache_min_flush_age|cache_min_evict_age|erasure_code_profile", \ "get pool parameter ", "osd", "r", "cli,rest") COMMAND("osd pool set " \ "name=pool,type=CephPoolname " \ diff --git a/src/mon/OSDMonitor.cc b/src/mon/OSDMonitor.cc index c60d744110502..136e71906a6bd 100644 --- a/src/mon/OSDMonitor.cc +++ b/src/mon/OSDMonitor.cc @@ -2483,6 +2483,13 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) goto reply; } + if (!p->is_erasure() && var == "erasure_code_profile") { + ss << "pool '" << poolstr + << "' is not a erasure pool: variable not applicable"; + r = -EACCES; + goto reply; + } + if (f) { f->open_object_section("pool"); f->dump_string("pool", poolstr); @@ -2536,6 +2543,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) f->dump_unsigned("cache_min_flush_age", p->cache_min_flush_age); } else if (var == "cache_min_evict_age") { f->dump_unsigned("cache_min_evict_age", p->cache_min_evict_age); + } else if (var == "erasure_code_profile") { + f->dump_string("erasure_code_profile", p->erasure_code_profile); } f->close_section(); @@ -2583,6 +2592,8 @@ bool OSDMonitor::preprocess_command(MMonCommand *m) ss << "cache_min_flush_age: " << p->cache_min_flush_age; } else if (var == "cache_min_evict_age") { ss << "cache_min_evict_age: " << p->cache_min_evict_age; + } else if (var == "erasure_code_profile") { + ss << "erasure_code_profile: " << p->erasure_code_profile; } rdata.append(ss); -- 2.39.5