]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: init bucket index only if putting bucket instance info succeeds 45481/head
authorHuber-ming <zhangsm01@inspur.com>
Wed, 10 Nov 2021 12:37:44 +0000 (20:37 +0800)
committerCory Snyder <csnyder@iland.com>
Thu, 17 Mar 2022 13:09:42 +0000 (09:09 -0400)
Signed-off-by: Huber-ming <zhangsm01@inspur.com>
(cherry picked from commit 6e97f2a32df80f00d44ed3daceac381c46c17026)

Conflicts:
src/rgw/rgw_reshard.cc

Cherry-pick notes:
- pub_bucket_instance_info and init_index don't take prefix provider arg on Octopus

src/rgw/rgw_reshard.cc

index b5733b240f325be8ed8ed1ee67b17f0cb2f7050a..8294ac57aaf740c57343422719d1e38cb599236a 100644 (file)
@@ -338,15 +338,15 @@ static int create_new_bucket_instance(rgw::sal::RGWRadosStore *store,
   new_bucket_info.new_bucket_instance_id.clear();
   new_bucket_info.reshard_status = cls_rgw_reshard_status::NOT_RESHARDING;
 
-  int ret = store->svc()->bi->init_index(new_bucket_info);
+  int ret = store->getRados()->put_bucket_instance_info(new_bucket_info, true, real_time(), &attrs);
   if (ret < 0) {
-    cerr << "ERROR: failed to init new bucket indexes: " << cpp_strerror(-ret) << std::endl;
+    cerr << "ERROR: failed to store new bucket instance info: " << cpp_strerror(-ret) << std::endl;
     return ret;
   }
 
-  ret = store->getRados()->put_bucket_instance_info(new_bucket_info, true, real_time(), &attrs);
+  ret = store->svc()->bi->init_index(new_bucket_info);
   if (ret < 0) {
-    cerr << "ERROR: failed to store new bucket instance info: " << cpp_strerror(-ret) << std::endl;
+    cerr << "ERROR: failed to init new bucket indexes: " << cpp_strerror(-ret) << std::endl;
     return ret;
   }