]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
rgw: correct tag checking logic in bucket_exports_object
authorAlex Wojno <awojno@bloomberg.net>
Fri, 28 Jun 2024 18:32:55 +0000 (14:32 -0400)
committerAlex Wojno <awojno@bloomberg.net>
Wed, 20 Nov 2024 20:46:27 +0000 (20:46 +0000)
Signed-off-by: Alex Wojno <awojno@bloomberg.net>
(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
src/rgw/driver/rados/rgw_bucket_sync.h
src/rgw/rgw_op.cc

index d59d79a008580faa46f77b6d49c0d1b2d74d061a..1e7316d4271d6b96160bd399ce92a4c5775e4e72 100644 (file)
@@ -984,7 +984,7 @@ void RGWBucketSyncPolicyHandler::get_pipes(std::set<rgw_sync_bucket_pipe> *_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;
index db542833792a0c38e6021173741cf1596463c5f7..eb3226b704738d2b08f5ed38f7a7a1cb0d54f301 100644 (file)
@@ -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;
 
index 066dd7df5d153b5b5600914e18d971dd38ee87ac..0b985b1ba5a75470a79d61fabba246e60b78ae6e 100644 (file)
@@ -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));