}
bool proceed_demote = false;
- if (has_cold_tier() &&
- logical_bucket->could_demote() &&
- (eviction_state.is_fast_mode() ||
- logical_bucket->should_demote())) {
+ if (demote_should_run()) {
proceed_demote = true;
}
INFO("proceed_demote: {}, could_demote: {}, fast_mode: {}, should_demote {}",
maybe_update_eviction_mode();
return main_cleaner_should_run()
|| cold_cleaner_should_run()
- || trimmer->should_trim();
+ || trimmer->should_trim()
+ || demote_should_run();
}
bool main_cleaner_should_fast_evict() const {
cold_cleaner->should_clean_space();
}
+ bool demote_should_run() const {
+ return has_cold_tier() &&
+ logical_bucket->could_demote() &&
+ (eviction_state.is_fast_mode() ||
+ logical_bucket->should_demote());
+ }
+
bool should_block_io() const {
assert(is_ready());
return trimmer->should_block_io_on_trim() ||