Commit 168cfd12 authored by Jim Harris's avatar Jim Harris
Browse files

blob: add _spdk_bs_load_complete



This reduces some code duplication and ensures all
successful load operations (whether or not it included
recovery after power fail) through the same function.

Signed-off-by: default avatarJim Harris <james.r.harris@intel.com>
Change-Id: Ia463ce6ebe976ab2420525d86962e8fe54ad04d7

Reviewed-on: https://review.gerrithub.io/400164


Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
parent 2f8a8112
Loading
Loading
Loading
Loading
+11 −9
Original line number Diff line number Diff line
@@ -2184,6 +2184,15 @@ _spdk_bs_write_used_blobids(spdk_bs_sequence_t *seq, void *arg, spdk_bs_sequence
	spdk_bs_sequence_write_dev(seq, ctx->mask, lba, lba_count, cb_fn, arg);
}

static void
_spdk_bs_load_complete(spdk_bs_sequence_t *seq, struct spdk_bs_load_ctx *ctx, int bserrno)
{
	spdk_dma_free(ctx->super);
	spdk_dma_free(ctx->mask);
	free(ctx);
	spdk_bs_sequence_finish(seq, bserrno);
}

static void
_spdk_bs_load_used_blobids_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int bserrno)
{
@@ -2219,11 +2228,7 @@ _spdk_bs_load_used_blobids_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int bserrn
		}
	}

	spdk_dma_free(ctx->super);
	spdk_dma_free(ctx->mask);
	free(ctx);

	spdk_bs_sequence_finish(seq, bserrno);
	_spdk_bs_load_complete(seq, ctx, bserrno);
}

static void
@@ -2420,10 +2425,7 @@ _spdk_bs_load_write_used_clusters_cpl(spdk_bs_sequence_t *seq, void *cb_arg, int
{
	struct spdk_bs_load_ctx	*ctx = cb_arg;

	spdk_dma_free(ctx->mask);
	spdk_dma_free(ctx->super);
	spdk_bs_sequence_finish(seq, bserrno);
	free(ctx);
	_spdk_bs_load_complete(seq, ctx, bserrno);
}

static void