]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw multisite: fix single-part-MPU object etag misidentify problem 38885/head
authorYang Honggang <yanghonggang@kuaishou.com>
Fri, 19 Feb 2021 05:56:13 +0000 (05:56 +0000)
committerYang Honggang <yanghonggang@kuaishou.com>
Sat, 20 Feb 2021 10:49:59 +0000 (18:49 +0800)
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 <yanghonggang@kuaishou.com>
(cherry picked from commit 63f989ca2bdc43142713b5da1eee2668ba238716)

src/rgw/rgw_etag_verifier.cc

index da809c9df4c04b8f23092c5d5a2b86a01ef043e0..6a9d5cc301d0d841f61eaa10688e1117a835eeb1 100644 (file)
@@ -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<ETagVerifier_Atomic>(cct, filter);
     return 0;