]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
d4n/policy: Make `shutdown` method specific to LFUDA
authorsamarah <suriarte@redhat.com>
Thu, 7 Dec 2023 21:54:43 +0000 (16:54 -0500)
committerPritha Srivastava <prsrivas@redhat.com>
Tue, 2 Apr 2024 15:54:52 +0000 (21:24 +0530)
Signed-off-by: samarah <suriarte@redhat.com>
src/rgw/driver/d4n/d4n_policy.h
src/test/rgw/test_d4n_policy.cc

index b2f38f94427d4ade3ad61709ef517beb7db4c150..e3f8a41f408607c9c2c8e9760d79ffc7e8c1969d 100644 (file)
@@ -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 {
index 965cb9449a30b109f360e123ba12e6eafe38cbbd..ef9a2474fa592052dc147fdabfaf8955bcb0486c 100644 (file)
@@ -165,7 +165,7 @@ TEST_F(LFUDAPolicyFixture, LocalGetBlockYield)
 
     dir->shutdown();
     cacheDriver->shutdown();
-    policyDriver->get_cache_policy()->shutdown();
+    dynamic_cast<rgw::d4n::LFUDAPolicy*>(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<rgw::d4n::LFUDAPolicy*>(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<rgw::d4n::LFUDAPolicy*>(policyDriver->get_cache_policy())->shutdown(); 
 
     boost::system::error_code ec;
     request req;