From: Casey Bodley Date: Sun, 19 Feb 2023 01:03:16 +0000 (-0500) Subject: rgw/sal: remove delete_obj_aio() and Completions X-Git-Tag: v19.0.0~1650^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=fb6eed5788461d0b6245bd35469d811fb2b7d102;p=ceph.git rgw/sal: remove delete_obj_aio() and Completions Signed-off-by: Casey Bodley --- diff --git a/src/rgw/driver/rados/rgw_sal_rados.cc b/src/rgw/driver/rados/rgw_sal_rados.cc index 7b56b689d408..f8cc8d95f33f 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.cc +++ b/src/rgw/driver/rados/rgw_sal_rados.cc @@ -136,11 +136,6 @@ static int drain_aio(std::list& handles) return ret; } -int RadosCompletions::drain() -{ - return drain_aio(handles); -} - int RadosUser::list_buckets(const DoutPrefixProvider* dpp, const std::string& marker, const std::string& end_marker, uint64_t max, bool need_stats, BucketList &buckets, optional_yield y) @@ -1273,11 +1268,6 @@ std::unique_ptr RadosStore::get_lifecycle(void) return std::make_unique(this); } -std::unique_ptr RadosStore::get_completions(void) -{ - return std::make_unique(); -} - std::unique_ptr RadosStore::get_notification( rgw::sal::Object* obj, rgw::sal::Object* src_obj, req_state* s, rgw::notify::EventType event_type, optional_yield y, const std::string* object_name) { @@ -1294,13 +1284,6 @@ int RadosStore::delete_raw_obj(const DoutPrefixProvider *dpp, const rgw_raw_obj& return rados->delete_raw_obj(dpp, obj); } -int RadosStore::delete_raw_obj_aio(const DoutPrefixProvider *dpp, const rgw_raw_obj& obj, Completions* aio) -{ - RadosCompletions* raio = static_cast(aio); - - return rados->delete_raw_obj_aio(dpp, obj, raio->handles); -} - void RadosStore::get_raw_obj(const rgw_placement_rule& placement_rule, const rgw_obj& obj, rgw_raw_obj* raw_obj) { rados->obj_to_raw(placement_rule, obj, raw_obj); @@ -2174,16 +2157,6 @@ int RadosObject::delete_object(const DoutPrefixProvider* dpp, return del_op.delete_obj(y, dpp); } -int RadosObject::delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, - Completions* aio, bool keep_index_consistent, - optional_yield y) -{ - RadosCompletions* raio = static_cast(aio); - - return store->getRados()->delete_obj_aio(dpp, get_obj(), bucket->get_info(), astate, - raio->handles, keep_index_consistent, y); -} - int RadosObject::copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, diff --git a/src/rgw/driver/rados/rgw_sal_rados.h b/src/rgw/driver/rados/rgw_sal_rados.h index 0937d7bfbe17..b4e417d9e27e 100644 --- a/src/rgw/driver/rados/rgw_sal_rados.h +++ b/src/rgw/driver/rados/rgw_sal_rados.h @@ -29,14 +29,6 @@ namespace rgw { namespace sal { class RadosMultipartUpload; -class RadosCompletions : public Completions { - public: - std::list handles; - RadosCompletions() {} - ~RadosCompletions() = default; - virtual int drain() override; -}; - class RadosPlacementTier: public StorePlacementTier { RadosStore* store; RGWZoneGroupPlacementTier tier; @@ -162,7 +154,6 @@ class RadosStore : public StoreDriver { virtual int list_all_zones(const DoutPrefixProvider* dpp, std::list& zone_ids) override; virtual int cluster_stat(RGWClusterStat& stats) override; virtual std::unique_ptr get_lifecycle(void) override; - virtual std::unique_ptr get_completions(void) override; virtual std::unique_ptr get_notification(rgw::sal::Object* obj, rgw::sal::Object* src_obj, req_state* s, rgw::notify::EventType event_type, optional_yield y, const std::string* object_name=nullptr) override; virtual std::unique_ptr get_notification( const DoutPrefixProvider* dpp, rgw::sal::Object* obj, rgw::sal::Object* src_obj, @@ -246,7 +237,6 @@ class RadosStore : public StoreDriver { int get_obj_head_ioctx(const DoutPrefixProvider *dpp, const RGWBucketInfo& bucket_info, const rgw_obj& obj, librados::IoCtx* ioctx); int delete_raw_obj(const DoutPrefixProvider *dpp, const rgw_raw_obj& obj); - int delete_raw_obj_aio(const DoutPrefixProvider *dpp, const rgw_raw_obj& obj, Completions* aio); void get_raw_obj(const rgw_placement_rule& placement_rule, const rgw_obj& obj, rgw_raw_obj* raw_obj); int get_raw_chunk_size(const DoutPrefixProvider* dpp, const rgw_raw_obj& obj, uint64_t* chunk_size); @@ -393,8 +383,6 @@ class RadosObject : public StoreObject { } virtual int delete_object(const DoutPrefixProvider* dpp, optional_yield y, bool prevent_versioning) override; - virtual int delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, Completions* aio, - bool keep_index_consistent, optional_yield y) override; virtual int copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, rgw::sal::Object* dest_object, rgw::sal::Bucket* dest_bucket, diff --git a/src/rgw/rgw_sal.h b/src/rgw/rgw_sal.h index 4a66acf52b6d..649236c22741 100644 --- a/src/rgw/rgw_sal.h +++ b/src/rgw/rgw_sal.h @@ -244,14 +244,6 @@ class ObjectProcessor : public DataProcessor { optional_yield y) = 0; }; -/** Base class for AIO completions */ -class Completions { - public: - Completions() {} - virtual ~Completions() = default; - virtual int drain() = 0; -}; - /** A list of key-value attributes */ using Attrs = std::map; @@ -323,8 +315,6 @@ class Driver { virtual int cluster_stat(RGWClusterStat& stats) = 0; /** Get a @a Lifecycle object. Used to manage/run lifecycle transitions */ virtual std::unique_ptr get_lifecycle(void) = 0; - /** Get a @a Completions object. Used for Async I/O tracking */ - virtual std::unique_ptr get_completions(void) = 0; /** Get a @a Notification object. Used to communicate with non-RGW daemons, such as * management/tracking software */ @@ -937,9 +927,6 @@ class Object { virtual int delete_object(const DoutPrefixProvider* dpp, optional_yield y, bool prevent_versioning = false) = 0; - /** Asynchronous delete call */ - virtual int delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, Completions* aio, - bool keep_index_consistent, optional_yield y) = 0; /** Copy an this object to another object. */ virtual int copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, diff --git a/src/rgw/rgw_sal_daos.cc b/src/rgw/rgw_sal_daos.cc index b4e3cf93c98d..a8663805d828 100644 --- a/src/rgw/rgw_sal_daos.cc +++ b/src/rgw/rgw_sal_daos.cc @@ -1229,13 +1229,6 @@ int DaosObject::delete_object(const DoutPrefixProvider* dpp, optional_yield y, return del_op.delete_obj(dpp, y); } -int DaosObject::delete_obj_aio(const DoutPrefixProvider* dpp, - RGWObjState* astate, Completions* aio, - bool keep_index_consistent, optional_yield y) { - /* XXX: Make it async */ - return DAOS_NOT_IMPLEMENTED_LOG(dpp); -} - int DaosObject::copy_object( User* user, req_info* info, const rgw_zone_id& source_zone, rgw::sal::Object* dest_object, rgw::sal::Bucket* dest_bucket, @@ -2341,11 +2334,6 @@ std::unique_ptr DaosStore::get_lifecycle(void) { return 0; } -std::unique_ptr DaosStore::get_completions(void) { - DAOS_NOT_IMPLEMENTED_LOG(nullptr); - return 0; -} - std::unique_ptr DaosStore::get_notification( rgw::sal::Object* obj, rgw::sal::Object* src_obj, struct req_state* s, rgw::notify::EventType event_type, const std::string* object_name) { diff --git a/src/rgw/rgw_sal_daos.h b/src/rgw/rgw_sal_daos.h index 83799e28fafb..ac7352191f23 100644 --- a/src/rgw/rgw_sal_daos.h +++ b/src/rgw/rgw_sal_daos.h @@ -604,9 +604,6 @@ class DaosObject : public StoreObject { virtual int delete_object(const DoutPrefixProvider* dpp, optional_yield y, bool prevent_versioning = false) override; - virtual int delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, - Completions* aio, bool keep_index_consistent, - optional_yield y) override; virtual int copy_object( User* user, req_info* info, const rgw_zone_id& source_zone, rgw::sal::Object* dest_object, rgw::sal::Bucket* dest_bucket, @@ -925,7 +922,6 @@ class DaosStore : public StoreDriver { virtual std::string zone_unique_trans_id(const uint64_t unique_num) override; virtual int cluster_stat(RGWClusterStat& stats) override; virtual std::unique_ptr get_lifecycle(void) override; - virtual std::unique_ptr get_completions(void) override; virtual std::unique_ptr get_notification( rgw::sal::Object* obj, rgw::sal::Object* src_obj, struct req_state* s, rgw::notify::EventType event_type, optional_yield y, diff --git a/src/rgw/rgw_sal_dbstore.cc b/src/rgw/rgw_sal_dbstore.cc index 65cf82cbaea5..4147006abf27 100644 --- a/src/rgw/rgw_sal_dbstore.cc +++ b/src/rgw/rgw_sal_dbstore.cc @@ -838,14 +838,6 @@ namespace rgw::sal { return del_op.delete_obj(dpp); } - int DBObject::delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, - Completions* aio, bool keep_index_consistent, - optional_yield y) - { - /* XXX: Make it async */ - return 0; - } - int DBObject::copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, @@ -1758,11 +1750,6 @@ namespace rgw::sal { return std::make_unique(this); } - std::unique_ptr DBStore::get_completions(void) - { - return 0; - } - int DBLifecycle::get_entry(const std::string& oid, const std::string& marker, std::unique_ptr* entry) { diff --git a/src/rgw/rgw_sal_dbstore.h b/src/rgw/rgw_sal_dbstore.h index 08e1cf516d4c..c82c65e6f73c 100644 --- a/src/rgw/rgw_sal_dbstore.h +++ b/src/rgw/rgw_sal_dbstore.h @@ -584,8 +584,6 @@ protected: virtual int delete_object(const DoutPrefixProvider* dpp, optional_yield y, bool prevent_versioning = false) override; - virtual int delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, Completions* aio, - bool keep_index_consistent, optional_yield y) override; virtual int copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, rgw::sal::Object* dest_object, rgw::sal::Bucket* dest_bucket, @@ -805,7 +803,6 @@ public: virtual int list_all_zones(const DoutPrefixProvider* dpp, std::list& zone_ids) override; virtual int cluster_stat(RGWClusterStat& stats) override; virtual std::unique_ptr get_lifecycle(void) override; - virtual std::unique_ptr get_completions(void) override; virtual std::unique_ptr get_notification( rgw::sal::Object* obj, rgw::sal::Object* src_obj, req_state* s, diff --git a/src/rgw/rgw_sal_filter.cc b/src/rgw/rgw_sal_filter.cc index 367b23db25ba..b57c664e2ea0 100644 --- a/src/rgw/rgw_sal_filter.cc +++ b/src/rgw/rgw_sal_filter.cc @@ -267,12 +267,6 @@ std::unique_ptr FilterDriver::get_lifecycle(void) return std::make_unique(std::move(lc)); } -std::unique_ptr FilterDriver::get_completions(void) -{ - std::unique_ptr c = next->get_completions(); - return std::make_unique(std::move(c)); -} - std::unique_ptr FilterDriver::get_notification(rgw::sal::Object* obj, rgw::sal::Object* src_obj, req_state* s, rgw::notify::EventType event_type, optional_yield y, @@ -857,13 +851,6 @@ int FilterObject::delete_object(const DoutPrefixProvider* dpp, return next->delete_object(dpp, y, prevent_versioning); } -int FilterObject::delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, - Completions* aio, bool keep_index_consistent, - optional_yield y) -{ - return next->delete_obj_aio(dpp, astate, aio, keep_index_consistent, y); -} - int FilterObject::copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, diff --git a/src/rgw/rgw_sal_filter.h b/src/rgw/rgw_sal_filter.h index 537640edd498..a2a1d8e14bcf 100644 --- a/src/rgw/rgw_sal_filter.h +++ b/src/rgw/rgw_sal_filter.h @@ -21,16 +21,6 @@ namespace rgw { namespace sal { -class FilterCompletions : public Completions { -protected: - std::unique_ptr next; - -public: - FilterCompletions(std::unique_ptr _next) : next(std::move(_next)) {} - virtual ~FilterCompletions() = default; - virtual int drain() override { return next->drain(); } -}; - class FilterPlacementTier : public PlacementTier { protected: std::unique_ptr next; @@ -198,7 +188,6 @@ public: } virtual int cluster_stat(RGWClusterStat& stats) override; virtual std::unique_ptr get_lifecycle(void) override; - virtual std::unique_ptr get_completions(void) override; virtual std::unique_ptr get_notification(rgw::sal::Object* obj, rgw::sal::Object* src_obj, struct req_state* s, @@ -561,9 +550,6 @@ public: virtual int delete_object(const DoutPrefixProvider* dpp, optional_yield y, bool prevent_versioning = false) override; - virtual int delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, - Completions* aio, - bool keep_index_consistent, optional_yield y) override; virtual int copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, rgw::sal::Object* dest_object, rgw::sal::Bucket* dest_bucket, diff --git a/src/rgw/rgw_sal_motr.cc b/src/rgw/rgw_sal_motr.cc index 724f6f0f7087..f73aa7c84d86 100644 --- a/src/rgw/rgw_sal_motr.cc +++ b/src/rgw/rgw_sal_motr.cc @@ -1540,14 +1540,6 @@ int MotrObject::delete_object(const DoutPrefixProvider* dpp, optional_yield y, b return del_op.delete_obj(dpp, y); } -int MotrObject::delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, - Completions* aio, bool keep_index_consistent, - optional_yield y) -{ - /* XXX: Make it async */ - return 0; -} - int MotrObject::copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, @@ -3362,11 +3354,6 @@ std::unique_ptr MotrStore::get_lifecycle(void) return 0; } -std::unique_ptr MotrStore::get_completions(void) -{ - return 0; -} - std::unique_ptr MotrStore::get_notification(Object* obj, Object* src_obj, req_state* s, rgw::notify::EventType event_type, optional_yield y, const string* object_name) { diff --git a/src/rgw/rgw_sal_motr.h b/src/rgw/rgw_sal_motr.h index e4659afb812f..df694712e203 100644 --- a/src/rgw/rgw_sal_motr.h +++ b/src/rgw/rgw_sal_motr.h @@ -674,8 +674,6 @@ class MotrObject : public StoreObject { virtual int delete_object(const DoutPrefixProvider* dpp, optional_yield y, bool prevent_versioning = false) override; - virtual int delete_obj_aio(const DoutPrefixProvider* dpp, RGWObjState* astate, Completions* aio, - bool keep_index_consistent, optional_yield y) override; virtual int copy_object(User* user, req_info* info, const rgw_zone_id& source_zone, rgw::sal::Object* dest_object, rgw::sal::Bucket* dest_bucket, @@ -1007,7 +1005,6 @@ class MotrStore : public StoreDriver { virtual int list_all_zones(const DoutPrefixProvider* dpp, std::list& zone_ids) override; virtual int cluster_stat(RGWClusterStat& stats) override; virtual std::unique_ptr get_lifecycle(void) override; - virtual std::unique_ptr get_completions(void) override; virtual std::unique_ptr get_notification(rgw::sal::Object* obj, rgw::sal::Object* src_obj, req_state* s, rgw::notify::EventType event_type, optional_yield y, const std::string* object_name=nullptr) override; virtual std::unique_ptr get_notification(const DoutPrefixProvider* dpp, rgw::sal::Object* obj,