From 1dd8c57ab83db8a45e3eadc936585bccd10ac599 Mon Sep 17 00:00:00 2001 From: Tomasz Zawadzki Date: Mon, 27 Jan 2020 08:35:02 -0500 Subject: [PATCH] lib/blob: fix clearing cluser array on EP load sz is set to number of clusters that should be have been in particular unallocated EP (remaining_clusters_in_et up to SPDK_EXTENTS_PER_EP). The cluster array should be set to 0 only in region between original size (cluster_array_size) and new total size (active.num_clusters). It was incorrectly using sz in the memset. Signed-off-by: Tomasz Zawadzki Change-Id: Ic43e89c17d53e9529e3ed0349aeb4fb7dc6593f2 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/482858 Tested-by: SPDK CI Jenkins Reviewed-by: Jim Harris Reviewed-by: Paul Luse Reviewed-by: Ben Walker --- lib/blob/blobstore.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/blob/blobstore.c b/lib/blob/blobstore.c index e16a6877e..2b72095fe 100644 --- a/lib/blob/blobstore.c +++ b/lib/blob/blobstore.c @@ -1380,7 +1380,7 @@ _spdk_blob_load_cpl_extents_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int bserr return; } memset(tmp + blob->active.cluster_array_size, 0, - sizeof(*blob->active.clusters) * (sz - blob->active.cluster_array_size)); + sizeof(*blob->active.clusters) * (blob->active.num_clusters - blob->active.cluster_array_size)); blob->active.clusters = tmp; blob->active.cluster_array_size = blob->active.num_clusters; }