]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: fix error ListMultipart allways returns StorageClass:STANDARD 41119/head
authorHuber-ming <zhangsm01@inspur.com>
Sat, 6 Nov 2021 08:24:33 +0000 (16:24 +0800)
committerHuber-ming <zhangsm01@inspur.com>
Fri, 12 Nov 2021 03:42:37 +0000 (11:42 +0800)
Fixes: https://tracker.ceph.com/issues/53183
Signed-off-by: Huber-ming <zhangsm01@inspur.com>
src/rgw/rgw_op.cc
src/rgw/rgw_op.h
src/rgw/rgw_rest_s3.cc

index b2354f3140f33b4ebe22543f0e92f5af9c4c7a53..a7518df18dbf1a552ca6f9089d917d2d5dec11e5 100644 (file)
@@ -6525,7 +6525,7 @@ void RGWListMultipart::execute(optional_yield y)
   upload = s->bucket->get_multipart_upload(s->object->get_name(), upload_id);
 
   rgw::sal::Attrs attrs;
-  op_ret = upload->get_info(this, s->yield, s->obj_ctx, nullptr, &attrs);
+  op_ret = upload->get_info(this, s->yield, s->obj_ctx, &placement, &attrs);
   /* decode policy */
   map<string, bufferlist>::iterator iter = attrs.find(RGW_ATTR_ACL);
   if (iter != attrs.end()) {
index fa2c69fab572e7d9caade815366ec4d266b74f29..2b182667191b191d476e8269dcad0f592e3e3997 100644 (file)
@@ -1900,6 +1900,7 @@ protected:
   int marker;
   RGWAccessControlPolicy policy;
   bool truncated;
+  rgw_placement_rule* placement;
 
 public:
   RGWListMultipart() {
index baeb0ad6eb4c64e0c6251345b766b8f5ad125e8e..01e24075098d25eb9e8225c97c571d76ac55490b 100644 (file)
@@ -3832,7 +3832,7 @@ void RGWListMultipart_ObjStore_S3::send_response()
     s->formatter->dump_string("Bucket", s->bucket_name);
     s->formatter->dump_string("Key", s->object->get_name());
     s->formatter->dump_string("UploadId", upload_id);
-    s->formatter->dump_string("StorageClass", "STANDARD");
+    s->formatter->dump_string("StorageClass", placement->get_storage_class());
     s->formatter->dump_int("PartNumberMarker", marker);
     s->formatter->dump_int("NextPartNumberMarker", cur_max);
     s->formatter->dump_int("MaxParts", max_parts);