From 935a1bdb3409362b8ca2e74b90dba3ac492c06ec Mon Sep 17 00:00:00 2001 From: Igor Fedotov Date: Fri, 9 Feb 2018 15:00:07 +0300 Subject: [PATCH] tools/ceph-objectstore-tool: do not fail on lack of OI_ATTR for an object. Signed-off-by: Igor Fedotov --- src/tools/ceph_objectstore_tool.cc | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/src/tools/ceph_objectstore_tool.cc b/src/tools/ceph_objectstore_tool.cc index 0518cc97e1ce8..9f1fd3a12418a 100644 --- a/src/tools/ceph_objectstore_tool.cc +++ b/src/tools/ceph_objectstore_tool.cc @@ -109,17 +109,16 @@ int _action_on_all_objects_in_pg(ObjectStore *store, coll_t coll, action_on_obje if (r < 0) { cerr << "Error getting attr on : " << make_pair(coll, *obj) << ", " << cpp_strerror(r) << std::endl; - continue; - } - bufferlist::iterator bp = attr.begin(); - try { - decode(oi, bp); - } catch (...) { - r = -EINVAL; - cerr << "Error getting attr on : " << make_pair(coll, *obj) << ", " - << cpp_strerror(r) << std::endl; - continue; - } + } else { + bufferlist::iterator bp = attr.begin(); + try { + decode(oi, bp); + } catch (...) { + r = -EINVAL; + cerr << "Error decoding attr on : " << make_pair(coll, *obj) << ", " + << cpp_strerror(r) << std::endl; + } + } } r = action.call(store, coll, *obj, oi); if (r < 0) -- 2.39.5