From 16e6acba881273986e637a52192389b148ef90b1 Mon Sep 17 00:00:00 2001 From: David Zafman Date: Tue, 26 Sep 2017 15:32:24 -0700 Subject: [PATCH] ceph-objectstore-tool: performance: Add --pgid for faster search for object by name Fixes: http://tracker.ceph.com/issues/21327 Signed-off-by: David Zafman (cherry picked from commit 14c5c834b9cfbf505197d999a776dd69d5e4d109) Conflicts: src/tools/ceph_objectstore_tool.cc (trivial) --- src/tools/ceph_objectstore_tool.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index 2a76b3ee0623d..51b0325c3e89d 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -2613,7 +2613,11 @@ int main(int argc, char **argv) if (vm.count("objcmd") && (objcmd == "remove-clone-metadata")) head = true; lookup_ghobject lookup(object, head); - if (action_on_all_objects(fs, lookup, debug)) { + if (pgidstr.length()) + ret = action_on_all_objects_in_exact_pg(fs, coll_t(pgid), lookup, debug); + else + ret = action_on_all_objects(fs, lookup, debug); + if (ret) { throw std::runtime_error("Internal error"); } else { if (lookup.size() != 1) { -- 2.39.5