]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tools/ceph-objectstore-tool: do not fail on lack of OI_ATTR for an 20387/head
authorIgor Fedotov <ifedotov@suse.com>
Fri, 9 Feb 2018 12:00:07 +0000 (15:00 +0300)
committerIgor Fedotov <ifedotov@suse.com>
Fri, 9 Feb 2018 12:00:07 +0000 (15:00 +0300)
object.

Signed-off-by: Igor Fedotov <ifedotov@suse.com>
src/tools/ceph_objectstore_tool.cc

index 0518cc97e1ce87b71dabfc86d73965f51ed1d83b..9f1fd3a12418a7abd3b19a6bd8b6f303d0f0751f 100644 (file)
@@ -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)