]> 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>
Wed, 13 May 2015 20:09:13 +0000 (13:09 -0700)
Signed-off-by: David Zafman <dzafman@redhat.com>
src/tools/ceph_objectstore_tool.cc

index e72bd3e70184d8ef202c8df6ec6f8e6ed0620b0f..ab95c066e159a20001c8e7d7210eea3dafe8a38e 100644 (file)
@@ -1339,6 +1339,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;