]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
tools/rados/rados.cc: fix rados rm --force-full blocking problem 25018/head
authorYang Honggang <yanghonggang@umcloud.com>
Tue, 25 Sep 2018 10:19:40 +0000 (18:19 +0800)
committerNathan Cutler <ncutler@suse.com>
Sat, 10 Nov 2018 09:57:58 +0000 (10:57 +0100)
Fixes: https://tracker.ceph.com/issues/36177
Signed-off-by: Yang Honggang <yanghonggang@umcloud.com>
(cherry picked from commit 3d2b99405ebb120d7c3fc1b2710cdfac4a59441a)

Conflicts:
src/tools/rados/rados.cc
- trivial resolution

src/tools/rados/rados.cc

index 04fb7458637772b20fde78173ef54248dc3aa954..00c5d0be5d1f626e74fed3864b15236178e414c1 100644 (file)
@@ -2704,13 +2704,13 @@ static int rados_tool_common(const std::map < std::string, std::string > &opts,
       const string & oid = *iter;
       if (use_striper) {
        if (forcefull) {
-         ret = striper.remove(oid, CEPH_OSD_FLAG_FULL_FORCE);
+         ret = striper.remove(oid, (CEPH_OSD_FLAG_FULL_FORCE | CEPH_OSD_FLAG_FULL_TRY));
        } else {
          ret = striper.remove(oid);
        }
       } else {
        if (forcefull) {
-         ret = io_ctx.remove(oid, CEPH_OSD_FLAG_FULL_FORCE);
+         ret = io_ctx.remove(oid, (CEPH_OSD_FLAG_FULL_FORCE | CEPH_OSD_FLAG_FULL_TRY));
        } else {
          ret = io_ctx.remove(oid);
        }