Commit a7b25a67 authored by Daniel Verkamp's avatar Daniel Verkamp
Browse files

blob: use bitarray function to count free clusters



Change-Id: I4830bcd2342551a6a02afd6e4551acbf463eb44c
Signed-off-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-on: https://review.gerrithub.io/416256


Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
parent 9d149a70
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -2718,15 +2718,15 @@ _spdk_bs_load_used_clusters_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int bserr
		return;
	}

	ctx->bs->num_free_clusters = ctx->bs->total_clusters;
	for (i = 0; i < ctx->mask->length; i++) {
		if (ctx->mask->mask[i / 8] & (1U << (i % 8))) {
			spdk_bit_array_set(ctx->bs->used_clusters, i);
			assert(ctx->bs->num_free_clusters > 0);
			ctx->bs->num_free_clusters--;
		}
	}

	ctx->bs->num_free_clusters = spdk_bit_array_count_clear(ctx->bs->used_clusters);
	assert(ctx->bs->num_free_clusters <= ctx->bs->total_clusters);

	spdk_dma_free(ctx->mask);

	/* Read the used blobids mask */