From 15a4b1e8471d3534176eb9201e458ffe8bc18fcb Mon Sep 17 00:00:00 2001 From: Samarah Date: Fri, 5 Jan 2024 19:51:36 +0000 Subject: [PATCH] d4n/policy: Change `size_t` argument type and add error checking to `set_local_weight_sum` method Signed-off-by: Samarah --- src/rgw/driver/d4n/d4n_policy.cc | 6 ++++-- src/rgw/driver/d4n/d4n_policy.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/rgw/driver/d4n/d4n_policy.cc b/src/rgw/driver/d4n/d4n_policy.cc index 7b17c4477e7..f53aafc445e 100644 --- a/src/rgw/driver/d4n/d4n_policy.cc +++ b/src/rgw/driver/d4n/d4n_policy.cc @@ -104,7 +104,9 @@ int LFUDAPolicy::get_age(optional_yield y) { } } -int LFUDAPolicy::set_local_weight_sum(size_t weight, optional_yield y) { +int LFUDAPolicy::set_local_weight_sum(int weight, optional_yield y) { + weight = weight > 0 ? weight : 0; + try { boost::system::error_code ec; response resp; @@ -320,7 +322,7 @@ int LFUDAPolicy::eviction(const DoutPrefixProvider* dpp, uint64_t size, optional ldpp_dout(dpp, 10) << "LFUDAPolicy::" << __func__ << "(): Block " << key << " has been evicted." << dendl; int weight = (avgWeight * entries_map.size()) - it->second->localWeight; - if (int ret = set_local_weight_sum((weight > 0) ? weight : 0, y) < 0) + if (int ret = set_local_weight_sum(weight, y) < 0) return ret; int age = get_age(y); diff --git a/src/rgw/driver/d4n/d4n_policy.h b/src/rgw/driver/d4n/d4n_policy.h index a9181bdb24f..e7c7781efca 100644 --- a/src/rgw/driver/d4n/d4n_policy.h +++ b/src/rgw/driver/d4n/d4n_policy.h @@ -72,7 +72,7 @@ class LFUDAPolicy : public CachePolicy { int set_age(int age, optional_yield y); int get_age(optional_yield y); - int set_local_weight_sum(size_t weight, optional_yield y); + int set_local_weight_sum(int weight, optional_yield y); int get_local_weight_sum(optional_yield y); CacheBlock* get_victim_block(const DoutPrefixProvider* dpp, optional_yield y); -- 2.39.5