]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ceph-objectstore-tool: If object re-appears after removal, just skip it
authorDavid Zafman <dzafman@redhat.com>
Sat, 31 Jan 2015 00:56:10 +0000 (16:56 -0800)
committerDavid Zafman <dzafman@redhat.com>
Thu, 25 Feb 2016 20:50:21 +0000 (12:50 -0800)
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit c6e41663e7434b4dcbb1abbe62ac008388da268a)

src/tools/ceph_objectstore_tool.cc

index 8c08455e4436a99f4425c9f9be5eef0bf3ec32c9..fa6baa4a5f9c9eca346dabf620a0defb58158abd 100644 (file)
@@ -1338,6 +1338,12 @@ int get_object_rados(librados::IoCtx &ioctx, bufferlist &bl, bool no_overwrite)
           return ret;
         }
         ret = ioctx.create(ob.hoid.hobj.oid.name, true);
+        // If object re-appeared after removal, let's just skip it
+        if (ret == -EEXIST) {
+          skipping = true;
+          msg = "Skipping in-use object";
+          ret = 0;
+        }
         if (ret < 0) {
           cerr << "create failed: " << cpp_strerror(ret) << std::endl;
           return ret;