]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: OSDMonitor: add "osd pool get <pool> erasure_code_profile" command
authorMa Jianpeng <jianpeng.ma@intel.com>
Thu, 17 Jul 2014 00:48:34 +0000 (17:48 -0700)
committerSage Weil <sage@redhat.com>
Sat, 2 Aug 2014 00:03:06 +0000 (17:03 -0700)
Enable us to obtain the erasure-code-profile for a given erasure-pool.

Signed-off-by: Ma Jianpeng <jianpeng.ma@intel.com>
Signed-off-by: Sage Weil <sage@inktank.com>
(cherry picked from commit e8ebcb79a462de29bcbabe40ac855634753bb2be)

src/mon/MonCommands.h
src/mon/OSDMonitor.cc

index 6c4053658c55962c5137c51c5f015bdd35557172..245ceee6cf26135e265b649ceb8d12fd9857acbe 100644 (file)
@@ -552,7 +552,7 @@ COMMAND("osd pool rename " \
        "rename <srcpool> to <destpool>", "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 <var>", "osd", "r", "cli,rest")
 COMMAND("osd pool set " \
        "name=pool,type=CephPoolname " \
index bbdeb1d9752843d3c496beaab4f2e27fe1e1a798..ed2cf3799b5bd67c620fb6ba9240ca5a5b2354f8 100644 (file)
@@ -2466,6 +2466,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);
@@ -2519,6 +2526,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();
@@ -2566,6 +2575,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);