]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
rgw: pass DataProcessorFactory to copy_object
authorSeena Fallah <seenafallah@gmail.com>
Sat, 7 Jun 2025 20:10:38 +0000 (22:10 +0200)
committerSeena Fallah <seenafallah@gmail.com>
Wed, 19 Nov 2025 19:00:41 +0000 (20:00 +0100)
Co-authored-by: Marcus Watts <mwatts@redhat.com>
Signed-off-by: Seena Fallah <seenafallah@gmail.com>
16 files changed:
src/rgw/driver/d4n/rgw_sal_d4n.cc
src/rgw/driver/d4n/rgw_sal_d4n.h
src/rgw/driver/daos/rgw_sal_daos.cc
src/rgw/driver/daos/rgw_sal_daos.h
src/rgw/driver/motr/rgw_sal_motr.cc
src/rgw/driver/motr/rgw_sal_motr.h
src/rgw/driver/posix/rgw_sal_posix.cc
src/rgw/driver/posix/rgw_sal_posix.h
src/rgw/driver/rados/rgw_sal_rados.cc
src/rgw/driver/rados/rgw_sal_rados.h
src/rgw/rgw_sal.h
src/rgw/rgw_sal_dbstore.cc
src/rgw/rgw_sal_dbstore.h
src/rgw/rgw_sal_filter.cc
src/rgw/rgw_sal_filter.h
src/test/rgw/test_d4n_filter.cc

index 3be2ff5e06e713a300e38a556047cacd5d8a339e..2eaed616bfcb3c9d5bbfc2a06cc9a83b3098568b 100644 (file)
@@ -653,6 +653,7 @@ int D4NFilterObject::copy_object(const ACLOwner& owner,
                               std::string* etag,
                               void (*progress_cb)(off_t, void *),
                               void* progress_data,
+                              rgw::sal::DataProcessorFactory* dp_factory,
                               const DoutPrefixProvider* dpp,
                               optional_yield y)
 {
@@ -684,7 +685,7 @@ int D4NFilterObject::copy_object(const ACLOwner& owner,
                            mod_ptr, unmod_ptr, high_precision_time, if_match,
                            if_nomatch, attrs_mod, copy_if_newer, attrs,
                            category, olh_epoch, delete_at, version_id, tag,
-                           etag, progress_cb, progress_data, dpp, y);
+                           etag, progress_cb, progress_data, dp_factory, dpp, y);
     if (ret < 0) {
       ldpp_dout(dpp, 10) << "D4NFilterObject::" << __func__ << "(): next->copy_object failed with ret: " << ret << dendl;
       return ret;
index cf3ae1539bfd24faae6c20faad0f860811266367..baa25d2c5f130e33458461831b61c6de9674fbed 100644 (file)
@@ -256,6 +256,7 @@ class D4NFilterObject : public FilterObject {
                               std::string* etag,
                               void (*progress_cb)(off_t, void *),
                               void* progress_data,
+                              rgw::sal::DataProcessorFactory* dp_factory,
                               const DoutPrefixProvider* dpp,
                               optional_yield y) override;
 
index d04a0b3b92d4eb479923457281d6d9841555314b..35ad0824d749c9f940145334bb4cbf4b007aaf9b 100644 (file)
@@ -1232,7 +1232,7 @@ int DaosObject::copy_object(
     RGWObjCategory category, uint64_t olh_epoch,
     boost::optional<ceph::real_time> delete_at, std::string* version_id,
     std::string* tag, std::string* etag, void (*progress_cb)(off_t, void*),
-    void* progress_data, const DoutPrefixProvider* dpp, optional_yield y) {
+    void* progress_data, rgw::sal::DataProcessorFactory* dp_factory, const DoutPrefixProvider* dpp, optional_yield y) {
   return DAOS_NOT_IMPLEMENTED_LOG(dpp);
 }
 
index b95c6e49c5c6e2811d923ceb07043cfd583da753..9eed25b46c155655464a14c63f26e9eaedcf54d8 100644 (file)
@@ -614,8 +614,8 @@ class DaosObject : public StoreObject {
       RGWObjCategory category, uint64_t olh_epoch,
       boost::optional<ceph::real_time> delete_at, std::string* version_id,
       std::string* tag, std::string* etag, void (*progress_cb)(off_t, void*),
-      void* progress_data, const DoutPrefixProvider* dpp,
-      optional_yield y) override;
+      void* progress_data, rgw::sal::DataProcessorFactory* dp_factory,
+      const DoutPrefixProvider* dpp, optional_yield y) override;
   virtual RGWAccessControlPolicy& get_acl(void) override { return acls; }
   virtual int set_acl(const RGWAccessControlPolicy& acl) override {
     acls = acl;
index 324e098e1ea7e287bd48701c416d22afbe124d67..f685bdf51f0902e9ad21bb2c8a429fcb2ddbdcc8 100644 (file)
@@ -1542,6 +1542,7 @@ int MotrObject::copy_object(const ACLOwner& owner,
     std::string* tag,
     std::string* etag,
     void (*progress_cb)(off_t, void *),
+    rgw::sal::DataProcessorFactory* dp_factory,
     void* progress_data,
     const DoutPrefixProvider* dpp,
     optional_yield y)
index cf4cf1069b04c5d7d8a915aca500971be3a6a8cd..bce464faffa41ae2adb3a3eebe818a3a0341fe80 100644 (file)
@@ -677,6 +677,7 @@ class MotrObject : public StoreObject {
         boost::optional<ceph::real_time> delete_at,
         std::string* version_id, std::string* tag, std::string* etag,
         void (*progress_cb)(off_t, void *), void* progress_data,
+        rgw::sal::DataProcessorFactory* dp_factory,
         const DoutPrefixProvider* dpp, optional_yield y) override;
     virtual RGWAccessControlPolicy& get_acl(void) override { return acls; }
     virtual int set_acl(const RGWAccessControlPolicy& acl) override { acls = acl; return 0; }
index 0da11e43fe081e42f1b932b27d1b358ca0819980..d762b5768de23016d275e2823dd0a66752266f91 100644 (file)
@@ -2980,6 +2980,7 @@ int POSIXObject::copy_object(const ACLOwner& owner,
                               std::string* etag,
                               void (*progress_cb)(off_t, void *),
                               void* progress_data,
+                              rgw::sal::DataProcessorFactory* dp_factory,
                               const DoutPrefixProvider* dpp,
                               optional_yield y)
 {
index 443842838b5d18de1bf45f1f8f9600b46bf1a55e..488fbf6e01633a4d2ab7583e8e4f3695868ce664 100644 (file)
@@ -1035,6 +1035,7 @@ public:
                boost::optional<ceph::real_time> delete_at,
                std::string* version_id, std::string* tag, std::string* etag,
                void (*progress_cb)(off_t, void *), void* progress_data,
+               rgw::sal::DataProcessorFactory* dp_factory,
                const DoutPrefixProvider* dpp, optional_yield y) override;
   virtual RGWAccessControlPolicy& get_acl(void) override { return acls; }
   virtual int set_acl(const RGWAccessControlPolicy& acl) override { acls = acl; return 0; }
index b193a0a4c5c70262d9028659919117185c3bfdeb..90813103ef863788efc9eabea011492e321a3192 100644 (file)
@@ -3703,6 +3703,7 @@ int RadosObject::copy_object(const ACLOwner& owner,
                                std::string* etag,
                                void (*progress_cb)(off_t, void *),
                                void* progress_data,
+                               rgw::sal::DataProcessorFactory* dp_factory,
                                const DoutPrefixProvider* dpp,
                                optional_yield y)
 {
index 5fa42b6c4d45a119b3e34d45d1b6e37dedabdcd7..3af6ee24ffd0bc9d7694db8134e6f44650015815 100644 (file)
@@ -583,6 +583,7 @@ class RadosObject : public StoreObject {
               boost::optional<ceph::real_time> delete_at,
                std::string* version_id, std::string* tag, std::string* etag,
                void (*progress_cb)(off_t, void *), void* progress_data,
+               rgw::sal::DataProcessorFactory* dp_factory,
                const DoutPrefixProvider* dpp, optional_yield y) override;
     virtual RGWAccessControlPolicy& get_acl(void) override { return acls; }
     virtual int set_acl(const RGWAccessControlPolicy& acl) override { acls = acl; return 0; }
index 60688a66bc155051842a1b248816fc9d755d6750..9a2e8b6d7c6ebc1dce052be85ef3a402ecd959ab 100644 (file)
@@ -1231,6 +1231,7 @@ class Object {
               boost::optional<ceph::real_time> delete_at,
                std::string* version_id, std::string* tag, std::string* etag,
                void (*progress_cb)(off_t, void *), void* progress_data,
+               DataProcessorFactory* dp_factory,
                const DoutPrefixProvider* dpp, optional_yield y) = 0;
 
     /** return logging subsystem */
index 3e87e6045d0455b906780c74d3552ddf98fe7bad..6ab8e9711be2ea6113a645f9c3970d238b17d363 100644 (file)
@@ -772,6 +772,7 @@ namespace rgw::sal {
       std::string* etag,
       void (*progress_cb)(off_t, void *),
       void* progress_data,
+      rgw::sal::DataProcessorFactory* dp_factory,
       const DoutPrefixProvider* dpp,
       optional_yield y)
   {
index 37e445a9c1c21432d00a173a22edb26ee0d78769..7db6a0424f493e4fbff97890ffde27bc03e13392 100644 (file)
@@ -559,6 +559,7 @@ protected:
           boost::optional<ceph::real_time> delete_at,
           std::string* version_id, std::string* tag, std::string* etag,
           void (*progress_cb)(off_t, void *), void* progress_data,
+          rgw::sal::DataProcessorFactory* dp_factory,
           const DoutPrefixProvider* dpp, optional_yield y) override;
       virtual RGWAccessControlPolicy& get_acl(void) override { return acls; }
       virtual int set_acl(const RGWAccessControlPolicy& acl) override { acls = acl; return 0; }
index 0cc849ce905304cf5e93bb8e045061627689cab3..5fe836a091be16697f4d04815305a9a941f0a9f0 100644 (file)
@@ -1045,6 +1045,7 @@ int FilterObject::copy_object(const ACLOwner& owner,
                              std::string* etag,
                              void (*progress_cb)(off_t, void *),
                              void* progress_data,
+                             rgw::sal::DataProcessorFactory* dp_factory,
                              const DoutPrefixProvider* dpp,
                              optional_yield y)
 {
@@ -1056,7 +1057,7 @@ int FilterObject::copy_object(const ACLOwner& owner,
                           mod_ptr, unmod_ptr, high_precision_time, if_match,
                           if_nomatch, attrs_mod, copy_if_newer, attrs,
                           category, olh_epoch, delete_at, version_id, tag,
-                          etag, progress_cb, progress_data, dpp, y);
+                          etag, progress_cb, progress_data, dp_factory, dpp, y);
 }
 
 RGWAccessControlPolicy& FilterObject::get_acl()
index c3f628badedb5df7fc2c14f46eee4fa6f2813bd5..3f81cd4fde279e0f361c64219f15e6ef4f45e175 100644 (file)
@@ -782,6 +782,7 @@ public:
               boost::optional<ceph::real_time> delete_at,
                std::string* version_id, std::string* tag, std::string* etag,
                void (*progress_cb)(off_t, void *), void* progress_data,
+               rgw::sal::DataProcessorFactory* dp_factory,
                const DoutPrefixProvider* dpp, optional_yield y) override;
   virtual RGWAccessControlPolicy& get_acl(void) override;
   virtual int set_acl(const RGWAccessControlPolicy& acl) override { return next->set_acl(acl); }
index 55ba5661caa9fdc122d21e3c71b261cae056d2d9..77a27daac255039d620959bfb7f5105bc3c71508 100755 (executable)
@@ -469,6 +469,7 @@ TEST_F(D4NFilterFixture, CopyNoneObjectRead)
             &tag,
             nullptr,
             nullptr,
+       nullptr,
             env->dpp,
             optional_yield({yield}));
     EXPECT_EQ(ret, 0);
@@ -580,6 +581,7 @@ TEST_F(D4NFilterFixture, CopyMergeObjectRead)
             &tag,
             nullptr,
             nullptr,
+       nullptr,
             env->dpp,
             optional_yield({yield}));
     EXPECT_EQ(ret, 0);
@@ -667,6 +669,7 @@ TEST_F(D4NFilterFixture, CopyReplaceObjectRead)
             &tag,
             nullptr,
             nullptr,
+       nullptr,
             env->dpp,
             optional_yield({yield}));
     EXPECT_EQ(ret, 0);
@@ -955,6 +958,7 @@ TEST_F(D4NFilterFixture, CopyNoneVersionedObjectRead)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -1009,6 +1013,7 @@ TEST_F(D4NFilterFixture, CopyNoneVersionedObjectRead)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -1094,6 +1099,7 @@ TEST_F(D4NFilterFixture, CopyMergeVersionedObjectRead)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -1148,6 +1154,7 @@ TEST_F(D4NFilterFixture, CopyMergeVersionedObjectRead)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -1233,6 +1240,7 @@ TEST_F(D4NFilterFixture, CopyReplaceVersionedObjectRead)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -1287,6 +1295,7 @@ TEST_F(D4NFilterFixture, CopyReplaceVersionedObjectRead)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -1653,6 +1662,7 @@ TEST_F(D4NFilterFixture, CopyNoneObjectWrite)
             &tag,
             nullptr,
             nullptr,
+       nullptr,
             env->dpp,
             optional_yield({yield}));
     EXPECT_EQ(ret, 0);
@@ -1774,6 +1784,7 @@ TEST_F(D4NFilterFixture, CopyMergeObjectWrite)
             &tag,
             nullptr,
             nullptr,
+       nullptr,
             env->dpp,
             optional_yield({yield}));
     EXPECT_EQ(ret, 0);
@@ -1895,6 +1906,7 @@ TEST_F(D4NFilterFixture, CopyReplaceObjectWrite)
             &tag,
             nullptr,
             nullptr,
+       nullptr,
             env->dpp,
             optional_yield({yield}));
     EXPECT_EQ(ret, 0);
@@ -2409,6 +2421,7 @@ TEST_F(D4NFilterFixture, CopyNoneVersionedObjectWrite)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -2500,6 +2513,7 @@ TEST_F(D4NFilterFixture, CopyNoneVersionedObjectWrite)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -2628,6 +2642,7 @@ TEST_F(D4NFilterFixture, CopyMergeVersionedObjectWrite)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -2719,6 +2734,7 @@ TEST_F(D4NFilterFixture, CopyMergeVersionedObjectWrite)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -2847,6 +2863,7 @@ TEST_F(D4NFilterFixture, CopyReplaceVersionedObjectWrite)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);
@@ -2938,6 +2955,7 @@ TEST_F(D4NFilterFixture, CopyReplaceVersionedObjectWrite)
               &tag,
               nullptr,
               nullptr,
+         nullptr,
               env->dpp,
               optional_yield({yield}));
       EXPECT_EQ(ret, 0);