From 4be7039964a2d17069b3604a4c994743145a013e Mon Sep 17 00:00:00 2001 From: Casey Bodley Date: Tue, 24 Oct 2017 11:08:24 -0400 Subject: [PATCH] rgw: move shard marker helper into BucketIndexShardsManager Signed-off-by: Casey Bodley --- src/cls/rgw/cls_rgw_client.h | 9 +++++++++ src/rgw/rgw_cr_rados.cc | 15 ++------------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/cls/rgw/cls_rgw_client.h b/src/cls/rgw/cls_rgw_client.h index 6b399890793d8..e33dfe668d9cb 100644 --- a/src/cls/rgw/cls_rgw_client.h +++ b/src/cls/rgw/cls_rgw_client.h @@ -218,6 +218,15 @@ public: } return 0; } + + // trim the '#' prefix from a single shard marker if present + static std::string get_shard_marker(const std::string& marker) { + auto p = marker.find(KEY_VALUE_SEPARATOR); + if (p == marker.npos) { + return marker; + } + return marker.substr(p + 1); + } }; /* bucket index */ diff --git a/src/rgw/rgw_cr_rados.cc b/src/rgw/rgw_cr_rados.cc index 06de89a8a20b3..edffa8061180c 100644 --- a/src/rgw/rgw_cr_rados.cc +++ b/src/rgw/rgw_cr_rados.cc @@ -492,25 +492,14 @@ int RGWAsyncGetBucketInstanceInfo::_send_request() return 0; } -static std::string normalize_shard_marker(const std::string& marker) -{ - // markers may be formatted with '#' at the beginning. - // CLSRGWIssueBILogTrim would fix this for us, but it's synchronous - auto p = marker.find(BucketIndexShardsManager::KEY_VALUE_SEPARATOR); - if (p == marker.npos) { - return marker; - } - return marker.substr(p + 1); -} - RGWRadosBILogTrimCR::RGWRadosBILogTrimCR(RGWRados *store, const RGWBucketInfo& bucket_info, int shard_id, const std::string& start_marker, const std::string& end_marker) : RGWSimpleCoroutine(store->ctx()), bs(store), - start_marker(normalize_shard_marker(start_marker)), - end_marker(normalize_shard_marker(end_marker)) + start_marker(BucketIndexShardsManager::get_shard_marker(start_marker)), + end_marker(BucketIndexShardsManager::get_shard_marker(end_marker)) { bs.init(bucket_info, shard_id); } -- 2.39.5