From: Alex Wojno Date: Fri, 28 Jun 2024 18:32:55 +0000 (-0400) Subject: rgw: correct tag checking logic in bucket_exports_object X-Git-Tag: v19.2.3~218^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=0a67cd259891b1a7831c9221c8e47426f509d19e;p=ceph.git 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 --- diff --git a/src/rgw/driver/rados/rgw_bucket_sync.cc b/src/rgw/driver/rados/rgw_bucket_sync.cc index d59d79a0085..1e7316d4271 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 db542833792..eb3226b7047 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 066dd7df5d1..0b985b1ba5a 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));