From: Samarah Date: Tue, 16 Jul 2024 21:28:29 +0000 (+0000) Subject: d4n/filter: Implement `get_bucket` and `load_bucket` X-Git-Tag: testing/wip-rishabh-testing-20250426.123842-debug~14^2~27 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=d8e400b8611799d1173bad4970dd46d7028fa612;p=ceph-ci.git d4n/filter: Implement `get_bucket` and `load_bucket` Signed-off-by: Samarah --- diff --git a/src/rgw/driver/d4n/rgw_sal_d4n.cc b/src/rgw/driver/d4n/rgw_sal_d4n.cc index e7fbadea36b..c9dbb138e25 100644 --- a/src/rgw/driver/d4n/rgw_sal_d4n.cc +++ b/src/rgw/driver/d4n/rgw_sal_d4n.cc @@ -94,6 +94,20 @@ std::unique_ptr D4NFilterBucket::get_object(const rgw_obj_key& k) return std::make_unique(std::move(o), this, filter); } +std::unique_ptr D4NFilterDriver::get_bucket(const RGWBucketInfo& i) +{ + return std::make_unique(next->get_bucket(i), this); +} + +int D4NFilterDriver::load_bucket(const DoutPrefixProvider* dpp, const rgw_bucket& b, + std::unique_ptr* bucket, optional_yield y) +{ + std::unique_ptr nb; + const int ret = next->load_bucket(dpp, b, &nb, y); + *bucket = std::make_unique(std::move(nb), this); + return ret; +} + int D4NFilterBucket::create(const DoutPrefixProvider* dpp, const CreateParams& params, optional_yield y) diff --git a/src/rgw/driver/d4n/rgw_sal_d4n.h b/src/rgw/driver/d4n/rgw_sal_d4n.h index bdd5bef90a9..f433632763f 100644 --- a/src/rgw/driver/d4n/rgw_sal_d4n.h +++ b/src/rgw/driver/d4n/rgw_sal_d4n.h @@ -56,6 +56,9 @@ class D4NFilterDriver : public FilterDriver { virtual std::unique_ptr get_user(const rgw_user& u) override; virtual std::unique_ptr get_object(const rgw_obj_key& k) override; + virtual std::unique_ptr get_bucket(const RGWBucketInfo& i) override; + int load_bucket(const DoutPrefixProvider* dpp, const rgw_bucket& b, + std::unique_ptr* bucket, optional_yield y) override; virtual std::unique_ptr get_atomic_writer(const DoutPrefixProvider *dpp, optional_yield y,