From: Igor Fedotov Date: Fri, 9 Feb 2018 12:00:07 +0000 (+0300) Subject: tools/ceph-objectstore-tool: do not fail on lack of OI_ATTR for an X-Git-Tag: v13.0.2~298^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=935a1bdb3409362b8ca2e74b90dba3ac492c06ec;p=ceph.git tools/ceph-objectstore-tool: do not fail on lack of OI_ATTR for an object. Signed-off-by: Igor Fedotov --- 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)