From 52a843c598bc0553d8e75ea8290731e26a83aed1 Mon Sep 17 00:00:00 2001 From: "lu.shasha" Date: Tue, 19 Sep 2017 14:01:37 +0800 Subject: [PATCH] rgw: fix version bucket stats when link a null version delete_marker and the null version instance exists, the existing null version idx should not unlinked in rgw_bucket_link_olh. It will be removed in delete_obj. Fixes: http://tracker.ceph.com/issues/21429 Signed-off-by: Shasha Lu --- src/cls/rgw/cls_rgw.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/cls/rgw/cls_rgw.cc b/src/cls/rgw/cls_rgw.cc index 662f6f031d1..c6a53c0f322 100644 --- a/src/cls/rgw/cls_rgw.cc +++ b/src/cls/rgw/cls_rgw.cc @@ -1433,13 +1433,15 @@ static int rgw_bucket_link_olh(cls_method_context_t hctx, bufferlist *in, buffer if (ret < 0) { return ret; } + } + + removing = existed && op.delete_marker; + if (!removing) { ret = other_obj.unlink(); if (ret < 0) { return ret; } } - - removing = existed && op.delete_marker; } else { removing = (existed && !obj.is_delete_marker() && op.delete_marker); } -- 2.39.5