From: Abhishek Lekshmanan Date: Tue, 5 Dec 2017 10:06:42 +0000 (+0100) Subject: tools/rados: support multiple objs in clearomap api X-Git-Tag: v13.0.2~542^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F19180%2Fhead;p=ceph.git tools/rados: support multiple objs in clearomap api Signed-off-by: Abhishek Lekshmanan --- diff --git a/src/tools/rados/rados.cc b/src/tools/rados/rados.cc index 03c621d8a46..24ad400dc24 100644 --- a/src/tools/rados/rados.cc +++ b/src/tools/rados/rados.cc @@ -115,7 +115,7 @@ void usage(ostream& out) " in the object's object map\n" " setomapval \n" " rmomapkey \n" -" clearomap clear all the omap keys for this object\n" +" clearomap [obj-name2 obj-name3...] clear all the omap keys for the specified objects\n" " getomapheader [file]\n" " setomapheader \n" " tmap-to-omap convert tmap keys/values to omap\n" @@ -2595,15 +2595,16 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts, usage_exit(); } - string oid(nargs[1]); - ret = io_ctx.omap_clear(oid); - if (ret < 0) { - cerr << "error removing omap key " << pool_name << "/" << oid << "/" - << cpp_strerror(ret) << std::endl; - goto out; - } else { - ret = 0; + for (unsigned i=1; i < nargs.size(); i++){ + string oid(nargs[i]); + ret = io_ctx.omap_clear(oid); + if (ret < 0) { + cerr << "error clearing omap keys " << pool_name << "/" << oid << "/" + << cpp_strerror(ret) << std::endl; + goto out; + } } + ret = 0; } else if (strcmp(nargs[0], "listomapvals") == 0) { if (!pool_name || nargs.size() < 2) usage_exit();