blob: use bitarray function to count free clusters
Change-Id: I4830bcd2342551a6a02afd6e4551acbf463eb44c Signed-off-by: Daniel Verkamp <daniel.verkamp@intel.com> Reviewed-on: https://review.gerrithub.io/416256 Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Tested-by: SPDK Automated Test System <sys_sgsw@intel.com>
This commit is contained in:
parent
9d149a706b
commit
a7b25a6770
@ -2718,15 +2718,15 @@ _spdk_bs_load_used_clusters_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int bserr
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctx->bs->num_free_clusters = ctx->bs->total_clusters;
|
|
||||||
for (i = 0; i < ctx->mask->length; i++) {
|
for (i = 0; i < ctx->mask->length; i++) {
|
||||||
if (ctx->mask->mask[i / 8] & (1U << (i % 8))) {
|
if (ctx->mask->mask[i / 8] & (1U << (i % 8))) {
|
||||||
spdk_bit_array_set(ctx->bs->used_clusters, i);
|
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);
|
spdk_dma_free(ctx->mask);
|
||||||
|
|
||||||
/* Read the used blobids mask */
|
/* Read the used blobids mask */
|
||||||
|
Loading…
Reference in New Issue
Block a user