Add missing hash bucket lock in cleaner
@@ -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 */
