From: Yang Honggang Date: Fri, 19 Feb 2021 05:56:13 +0000 (+0000) Subject: rgw multisite: fix single-part-MPU object etag misidentify problem X-Git-Tag: v14.2.17~32^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=65db8c4958f77f5e9214d56a8c8773da71426ac7;p=ceph.git rgw multisite: fix single-part-MPU object etag misidentify problem The single-part-MPU object is treated as a Atomic object. Because its part_size is 0. As MPU object's start_part_num is not 0 which can be used to distinguish MPU object and Atomic object. Fixes: https://tracker.ceph.com/issues/49357 Signed-off-by: Yang Honggang (cherry picked from commit 63f989ca2bdc43142713b5da1eee2668ba238716) --- diff --git a/src/rgw/rgw_etag_verifier.cc b/src/rgw/rgw_etag_verifier.cc index da809c9df4c04..6a9d5cc301d0d 100644 --- a/src/rgw/rgw_etag_verifier.cc +++ b/src/rgw/rgw_etag_verifier.cc @@ -29,7 +29,7 @@ int create_etag_verifier(CephContext* cct, DataProcessor* filter, return -EIO; } - if (rule.part_size == 0) { + if (rule.start_part_num == 0) { /* Atomic object */ verifier.emplace(cct, filter); return 0;