]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw multisite: fix single-part-MPU object etag misidentify problem 39569/head
authorYang Honggang <yanghonggang@kuaishou.com>
Fri, 19 Feb 2021 05:56:13 +0000 (05:56 +0000)
committerYang Honggang <yanghonggang@kuaishou.com>
Fri, 19 Feb 2021 06:07:34 +0000 (06:07 +0000)
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>
src/rgw/rgw_etag_verifier.cc

index 47910c28cae8a7c6bc135884a8dc1eddba2b2a4e..285d64cd7a98bb6bd8f6f45db06b53fb957c2c14 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;