From: Shilpa Jagannath Date: Tue, 9 Jun 2020 03:05:27 +0000 (+0530) Subject: rgw: use BucketReshardState states in appropriate places X-Git-Tag: v18.0.0~787^2~160 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bd0b0e5d984c83504f88fa155a7dfc6f6571aa49;p=ceph.git rgw: use BucketReshardState states in appropriate places This replaces cls_rgw_reshard_status. Remove unused parameters in cls_rgw_bucket_instance_entry. Other minor cleanup fixes. Signed-off-by: Shilpa Jagannath --- diff --git a/src/cls/rgw/cls_rgw.cc b/src/cls/rgw/cls_rgw.cc index b7000882a42a..5cef58e62ca2 100644 --- a/src/cls/rgw/cls_rgw.cc +++ b/src/cls/rgw/cls_rgw.cc @@ -4474,7 +4474,7 @@ static int rgw_set_bucket_resharding(cls_method_context_t hctx, bufferlist *in, return rc; } - header.new_instance.set_status(op.entry.bucket_instance_id, op.entry.num_shards, op.entry.reshard_status); + header.new_instance.set_status(op.entry.reshard_status); return write_bucket_header(hctx, &header); } diff --git a/src/cls/rgw/cls_rgw_types.cc b/src/cls/rgw/cls_rgw_types.cc index 8e0ac57dd9cf..4b7d533d1ff5 100644 --- a/src/cls/rgw/cls_rgw_types.cc +++ b/src/cls/rgw/cls_rgw_types.cc @@ -822,9 +822,6 @@ void cls_rgw_reshard_entry::generate_test_instances(list void cls_rgw_bucket_instance_entry::dump(Formatter *f) const { encode_json("reshard_status", to_string(reshard_status), f); - encode_json("bucket_instance_id", bucket_instance_id, f); - encode_json("num_shards", num_shards, f); - } void cls_rgw_bucket_instance_entry::generate_test_instances( @@ -833,7 +830,6 @@ list& ls) ls.push_back(new cls_rgw_bucket_instance_entry); ls.push_back(new cls_rgw_bucket_instance_entry); ls.back()->reshard_status = RESHARD_STATUS::IN_PROGRESS; - ls.back()->bucket_instance_id = "instance_id"; } void cls_rgw_lc_entry::dump(Formatter *f) const diff --git a/src/cls/rgw/cls_rgw_types.h b/src/cls/rgw/cls_rgw_types.h index c0bce8aa4bb4..2a8d5cc4c166 100644 --- a/src/cls/rgw/cls_rgw_types.h +++ b/src/cls/rgw/cls_rgw_types.h @@ -796,24 +796,24 @@ struct cls_rgw_bucket_instance_entry { using RESHARD_STATUS = cls_rgw_reshard_status; cls_rgw_reshard_status reshard_status{RESHARD_STATUS::NOT_RESHARDING}; - std::string bucket_instance_id; - int32_t num_shards{-1}; void encode(ceph::buffer::list& bl) const { - ENCODE_START(1, 1, bl); + ENCODE_START(2, 1, bl); encode((uint8_t)reshard_status, bl); - encode(bucket_instance_id, bl); - encode(num_shards, bl); ENCODE_FINISH(bl); } void decode(ceph::buffer::list::const_iterator& bl) { - DECODE_START(1, bl); + DECODE_START(2, bl); uint8_t s; decode(s, bl); reshard_status = (cls_rgw_reshard_status)s; - decode(bucket_instance_id, bl); - decode(num_shards, bl); + if (struct_v < 2) { // fields removed from v2 + std::string bucket_instance_id; + decode(bucket_instance_id, bl); + int32_t num_shards{-1}; + decode(num_shards, bl); + } DECODE_FINISH(bl); } @@ -824,12 +824,8 @@ struct cls_rgw_bucket_instance_entry { reshard_status = RESHARD_STATUS::NOT_RESHARDING; } - void set_status(const std::string& instance_id, - int32_t new_num_shards, - cls_rgw_reshard_status s) { + void set_status(cls_rgw_reshard_status s) { reshard_status = s; - bucket_instance_id = instance_id; - num_shards = new_num_shards; } bool resharding() const { diff --git a/src/rgw/rgw_admin.cc b/src/rgw/rgw_admin.cc index 05299e51f4e6..538c870aa33d 100644 --- a/src/rgw/rgw_admin.cc +++ b/src/rgw/rgw_admin.cc @@ -1149,9 +1149,6 @@ static void show_reshard_status( for (const auto& entry : status) { formatter->open_object_section("entry"); formatter->dump_string("reshard_status", to_string(entry.reshard_status)); - formatter->dump_string("bucket_instance_id", - entry.bucket_instance_id); - formatter->dump_int("num_shards", entry.num_shards); formatter->close_section(); } formatter->close_section(); diff --git a/src/rgw/rgw_reshard.cc b/src/rgw/rgw_reshard.cc index 9eb22ef746e9..d0104951da30 100644 --- a/src/rgw/rgw_reshard.cc +++ b/src/rgw/rgw_reshard.cc @@ -264,12 +264,10 @@ RGWBucketReshard::RGWBucketReshard(rgw::sal::RadosStore* _store, int RGWBucketReshard::set_resharding_status(const DoutPrefixProvider *dpp, rgw::sal::RadosStore* store, const RGWBucketInfo& bucket_info, - const string& instance_id, - int32_t num_shards, cls_rgw_reshard_status status) { cls_rgw_bucket_instance_entry instance_entry; - instance_entry.set_status(instance_id, num_shards, status); + instance_entry.set_status(status); int ret = store->getRados()->bucket_set_reshard(dpp, bucket_info, instance_entry); if (ret < 0) { @@ -313,8 +311,6 @@ int RGWBucketReshard::clear_index_shard_reshard_status(const DoutPrefixProvider if (num_shards < std::numeric_limits::max()) { int ret = set_resharding_status(dpp, store, bucket_info, - bucket_info.bucket.bucket_id, - (num_shards < 1 ? 1 : num_shards), cls_rgw_reshard_status::NOT_RESHARDING); if (ret < 0) { ldpp_dout(dpp, 0) << "RGWBucketReshard::" << __func__ << @@ -404,8 +400,6 @@ public: ldpp_dout(dpp, -1) << "Error: " << __func__ << " clear_index_shard_status returned " << ret << dendl; } - - // clears new_bucket_instance as well set_status(rgw::BucketReshardState::None, dpp); } } @@ -709,8 +703,7 @@ int RGWBucketReshard::execute(int num_shards, int max_op_entries, // set resharding status of current bucket_info & shards with // information about planned resharding - ret = set_resharding_status(dpp, bucket_info.bucket.bucket_id, - num_shards, cls_rgw_reshard_status::IN_PROGRESS); + ret = set_resharding_status(dpp, cls_rgw_reshard_status::IN_PROGRESS); if (ret < 0) { return ret; goto error_out; diff --git a/src/rgw/rgw_reshard.h b/src/rgw/rgw_reshard.h index a33af8f37839..02c097331f3f 100644 --- a/src/rgw/rgw_reshard.h +++ b/src/rgw/rgw_reshard.h @@ -120,15 +120,9 @@ public: static int set_resharding_status(const DoutPrefixProvider *dpp, rgw::sal::RadosStore* store, const RGWBucketInfo& bucket_info, - const std::string& instance_id, - int32_t num_shards, - cls_rgw_reshard_status status); - int set_resharding_status(const DoutPrefixProvider *dpp, - const std::string& instance_id, - int32_t num_shards, - cls_rgw_reshard_status status) { - return set_resharding_status(dpp, store, bucket_info, - instance_id, num_shards, status); + cls_rgw_reshard_status status); + int set_resharding_status(const DoutPrefixProvider *dpp, cls_rgw_reshard_status status) { + return set_resharding_status(dpp, store, bucket_info, status); } static uint32_t get_max_prime_shards() { diff --git a/src/rgw/services/svc_bi_rados.cc b/src/rgw/services/svc_bi_rados.cc index 7d2cea00e64d..ed4bb39cc4ca 100644 --- a/src/rgw/services/svc_bi_rados.cc +++ b/src/rgw/services/svc_bi_rados.cc @@ -406,7 +406,7 @@ int RGWSI_BucketIndex_RADOS::clean_index(const DoutPrefixProvider *dpp, RGWBucke dir_oid.append(bucket_info.bucket.bucket_id); std::map bucket_objs; - get_bucket_index_objects(dir_oid, bucket_info.layout.current_index.layout.normal.num_shards, gen.value_or(0), &bucket_objs); + get_bucket_index_objects(dir_oid, bucket_info.layout.current_index.layout.normal.num_shards, gen, &bucket_objs); return CLSRGWIssueBucketIndexClean(index_pool.ioctx(), bucket_objs,