From: Ruan Zitao Date: Wed, 21 Oct 2020 03:06:40 +0000 (+0800) Subject: cls/rgw/cls_rgw.cc: fix multiple lastest version problem X-Git-Tag: v14.2.17~45^2~3^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=b7a30bc86f36230ff866d3cd26e5ae3d2af6abb8;p=ceph.git cls/rgw/cls_rgw.cc: fix multiple lastest version problem Fixes: https://tracker.ceph.com/issues/47919 Signed-off-by: Ruan Zitao Signed-off-by: Yang Honggang (cherry picked from commit f60f9ace1a4bceeda256373cf4603058e1947fa8) Conflicts: src/cls/rgw/cls_rgw.cc - nautilus does not have "rgw_bucket_dir_entry::FLAG_VER"; use "RGW_BUCKET_DIRENT_FLAG_VER" instead --- diff --git a/src/cls/rgw/cls_rgw.cc b/src/cls/rgw/cls_rgw.cc index ed004c256177..d5cbcd892a0d 100644 --- a/src/cls/rgw/cls_rgw.cc +++ b/src/cls/rgw/cls_rgw.cc @@ -867,7 +867,9 @@ int rgw_bucket_complete_op(cls_method_context_t hctx, bufferlist *in, bufferlist } entry.index_ver = header.ver; - entry.flags = (entry.key.instance.empty() ? 0 : RGW_BUCKET_DIRENT_FLAG_VER); /* resetting entry flags, entry might have been previously a delete marker */ + /* resetting entry flags, entry might have been previously a delete + * marker */ + entry.flags &= RGW_BUCKET_DIRENT_FLAG_VER; if (op.tag.size()) { map::iterator pinter = entry.pending_map.find(op.tag);