Commit a6ee8422 authored by Li Chen's avatar Li Chen Committed by Mikulas Patocka
Browse files

dm-pcache: zero cache_info before default init



pcache_meta_find_latest() leaves whatever it last copied into the
caller’s buffer even when it returns NULL. For cache_info_init(),
that meant cache->cache_info could still contain CRC-bad garbage when
no valid metadata exists, leading later initialization paths to read
bogus flags.

Explicitly memset cache->cache_info in cache_info_init_default()
so new-cache paths start from a clean slate. The default sequence
number assignment becomes redundant with this reset, so it drops out.

Signed-off-by: default avatarLi Chen <chenl311@chinatelecom.cn>
Reviewed-by: default avatarZheng Gu <cengku@gmail.com>
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
parent 840b80af
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -181,7 +181,7 @@ static void cache_info_init_default(struct pcache_cache *cache)
{
	struct pcache_cache_info *cache_info = &cache->cache_info;

	cache_info->header.seq = 0;
	memset(cache_info, 0, sizeof(*cache_info));
	cache_info->n_segs = cache->cache_dev->seg_num;
	cache_info_set_gc_percent(cache_info, PCACHE_CACHE_GC_PERCENT_DEFAULT);
}