From c40e36456b8519472e48a502ff7c6ce973e3db40 Mon Sep 17 00:00:00 2001 From: Adam Rutkowski Date: Fri, 5 Mar 2021 11:20:46 +0100 Subject: [PATCH] Add missing hash bucket lock in cleaner Signed-off-by: Adam Rutkowski --- src/utils/utils_cleaner.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/utils/utils_cleaner.c b/src/utils/utils_cleaner.c index d3169f9..b4596d6 100644 --- a/src/utils/utils_cleaner.c +++ b/src/utils/utils_cleaner.c @@ -583,6 +583,7 @@ static int _ocf_cleaner_fire_core(struct ocf_request *req) { uint32_t i; struct ocf_map_info *iter; + ocf_cache_t cache = req->cache; OCF_DEBUG_TRACE(req->cache); @@ -601,7 +602,15 @@ static int _ocf_cleaner_fire_core(struct ocf_request *req) if (iter->status == LOOKUP_MISS) continue; + ocf_hb_cline_prot_lock_rd(&cache->metadata.lock, + req->lock_idx, req->map[i].core_id, + req->map[i].core_line); + _ocf_cleaner_core_submit_io(req, iter); + + ocf_hb_cline_prot_unlock_rd(&cache->metadata.lock, + req->lock_idx, req->map[i].core_id, + req->map[i].core_line); } /* Protect IO completion race */