From 3484699664411929e5413dde41ea6f29a8a32c36 Mon Sep 17 00:00:00 2001 From: samarah Date: Thu, 7 Dec 2023 16:54:43 -0500 Subject: [PATCH] d4n/policy: Make `shutdown` method specific to LFUDA Signed-off-by: samarah --- src/rgw/driver/d4n/d4n_policy.h | 4 +--- src/test/rgw/test_d4n_policy.cc | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/rgw/driver/d4n/d4n_policy.h b/src/rgw/driver/d4n/d4n_policy.h index b2f38f94427d4..e3f8a41f40860 100644 --- a/src/rgw/driver/d4n/d4n_policy.h +++ b/src/rgw/driver/d4n/d4n_policy.h @@ -40,7 +40,6 @@ class CachePolicy { virtual int eviction(const DoutPrefixProvider* dpp, uint64_t size, optional_yield y) = 0; virtual void update(const DoutPrefixProvider* dpp, std::string& key, uint64_t offset, uint64_t len, std::string version, optional_yield y) = 0; virtual bool erase(const DoutPrefixProvider* dpp, const std::string& key, optional_yield y) = 0; - virtual void shutdown() = 0; }; class LFUDAPolicy : public CachePolicy { @@ -112,7 +111,6 @@ class LFUDAPolicy : public CachePolicy { virtual int eviction(const DoutPrefixProvider* dpp, uint64_t size, optional_yield y) override; virtual void update(const DoutPrefixProvider* dpp, std::string& key, uint64_t offset, uint64_t len, std::string version, optional_yield y) override; virtual bool erase(const DoutPrefixProvider* dpp, const std::string& key, optional_yield y) override; - virtual void shutdown() override; void set_local_weight(std::string& key, int localWeight); LFUDAEntry* find_entry(std::string key) { @@ -121,6 +119,7 @@ class LFUDAPolicy : public CachePolicy { return nullptr; return it->second; } + void shutdown(); }; class LRUPolicy : public CachePolicy { @@ -141,7 +140,6 @@ class LRUPolicy : public CachePolicy { virtual int eviction(const DoutPrefixProvider* dpp, uint64_t size, optional_yield y) override; virtual void update(const DoutPrefixProvider* dpp, std::string& key, uint64_t offset, uint64_t len, std::string version, optional_yield y) override; virtual bool erase(const DoutPrefixProvider* dpp, const std::string& key, optional_yield y) override; - virtual void shutdown() override {} }; class PolicyDriver { diff --git a/src/test/rgw/test_d4n_policy.cc b/src/test/rgw/test_d4n_policy.cc index 965cb9449a30b..ef9a2474fa592 100644 --- a/src/test/rgw/test_d4n_policy.cc +++ b/src/test/rgw/test_d4n_policy.cc @@ -165,7 +165,7 @@ TEST_F(LFUDAPolicyFixture, LocalGetBlockYield) dir->shutdown(); cacheDriver->shutdown(); - policyDriver->get_cache_policy()->shutdown(); + dynamic_cast(policyDriver->get_cache_policy())->shutdown(); boost::system::error_code ec; request req; @@ -228,7 +228,7 @@ TEST_F(LFUDAPolicyFixture, RemoteGetBlockYield) dir->shutdown(); cacheDriver->shutdown(); - policyDriver->get_cache_policy()->shutdown(); + dynamic_cast(policyDriver->get_cache_policy())->shutdown(); std::string key = block->cacheObj.bucketName + "_" + block->cacheObj.objName + "_" + std::to_string(block->blockID) + "_" + std::to_string(block->size); boost::system::error_code ec; @@ -260,7 +260,7 @@ TEST_F(LFUDAPolicyFixture, BackendGetBlockYield) dir->shutdown(); cacheDriver->shutdown(); - policyDriver->get_cache_policy()->shutdown(); + dynamic_cast(policyDriver->get_cache_policy())->shutdown(); boost::system::error_code ec; request req; -- 2.39.5