From a1ec40ce108536044373e00449960cbc1fc0c395 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Mon, 28 Jun 2021 17:39:31 +0200 Subject: [PATCH] Fix ocf_lru_repart for freelist partition ocf_lru_get_list() now returs clean list for freelist partition to provide common interface regardless of partition type. Signed-off-by: Adam Rutkowski --- src/ocf_lru.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ocf_lru.c b/src/ocf_lru.c index 387303c..707e725 100644 --- a/src/ocf_lru.c +++ b/src/ocf_lru.c @@ -224,6 +224,9 @@ void ocf_lru_init_cline(ocf_cache_t cache, ocf_cache_line_t cline) static struct ocf_lru_list *ocf_lru_get_list(struct ocf_part *part, uint32_t lru_idx, bool clean) { + if (part->id == PARTITION_FREELIST) + clean = true; + return clean ? &part->runtime->lru[lru_idx].clean : &part->runtime->lru[lru_idx].dirty; } @@ -289,8 +292,6 @@ void ocf_lru_rm_cline(ocf_cache_t cache, ocf_cache_line_t cline) ocf_part_id_t part_id = ocf_metadata_get_partition_id(cache, cline); struct ocf_part *part = &cache->user_parts[part_id].part; - ENV_BUG_ON(metadata_test_dirty(cache, cline)); - ocf_lru_repart(cache, cline, part, &cache->free); }