From 0a67cd259891b1a7831c9221c8e47426f509d19e Mon Sep 17 00:00:00 2001 From: Alex Wojno Date: Fri, 28 Jun 2024 14:32:55 -0400 Subject: [PATCH] rgw: correct tag checking logic in bucket_exports_object Signed-off-by: Alex Wojno (cherry picked from commit 4401be844276f0111eb0fe82af7625cfbbc9b9b3) Conflicts: src/rgw/driver/rados/rgw_bucket_sync.cc src/rgw/driver/rados/rgw_bucket_sync.h src/rgw/rgw_op.cc --- src/rgw/driver/rados/rgw_bucket_sync.cc | 2 +- src/rgw/driver/rados/rgw_bucket_sync.h | 2 +- src/rgw/rgw_op.cc | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/rgw/driver/rados/rgw_bucket_sync.cc b/src/rgw/driver/rados/rgw_bucket_sync.cc index d59d79a008580..1e7316d4271d6 100644 --- a/src/rgw/driver/rados/rgw_bucket_sync.cc +++ b/src/rgw/driver/rados/rgw_bucket_sync.cc @@ -984,7 +984,7 @@ void RGWBucketSyncPolicyHandler::get_pipes(std::set *_sour } } -bool RGWBucketSyncPolicyHandler::bucket_exports_object(const std::string& obj_name, const RGWObjTags& tags) { +bool RGWBucketSyncPolicyHandler::bucket_exports_object(const std::string& obj_name, const RGWObjTags& tags) const { if (bucket_exports_data()) { for (auto& entry : target_pipes.pipe_map) { auto& filter = entry.second.params.source.filter; diff --git a/src/rgw/driver/rados/rgw_bucket_sync.h b/src/rgw/driver/rados/rgw_bucket_sync.h index db542833792a0..eb3226b704738 100644 --- a/src/rgw/driver/rados/rgw_bucket_sync.h +++ b/src/rgw/driver/rados/rgw_bucket_sync.h @@ -402,7 +402,7 @@ public: return target_hints; } - bool bucket_exports_object(const std::string& obj_name, const RGWObjTags& tags); + bool bucket_exports_object(const std::string& obj_name, const RGWObjTags& tags) const; bool bucket_exports_data() const; bool bucket_imports_data() const; diff --git a/src/rgw/rgw_op.cc b/src/rgw/rgw_op.cc index 066dd7df5d153..0b985b1ba5a75 100644 --- a/src/rgw/rgw_op.cc +++ b/src/rgw/rgw_op.cc @@ -4479,7 +4479,7 @@ void RGWPutObj::execute(optional_yield y) ldpp_dout(this, 0) << "failed to read sync policy for bucket: " << s->bucket << dendl; return; } - if (policy_handler && policy_handler->bucket_exports_object(s->object->get_name(), *obj_tags)) { + if (policy_handler && policy_handler->bucket_exports_object(s->object->get_name(), obj_tags)) { bufferlist repl_bl; repl_bl.append("PENDING"); emplace_attr(RGW_ATTR_OBJ_REPLICATION_STATUS, std::move(repl_bl)); -- 2.39.5