Commit 44502e42 authored by Tomasz Zawadzki's avatar Tomasz Zawadzki
Browse files

lib/blob: simplify loading snapshot completion



Refactor blob loading when snapshot is present.
All paths now go through _spdk_blob_load_final().

Signed-off-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Change-Id: Ifc927de6800501cdf62dba8d73e950af2a46d568
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/479143


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarBen Walker <benjamin.walker@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
parent 42432d49
Loading
Loading
Loading
Loading
+7 −15
Original line number Diff line number Diff line
@@ -938,25 +938,17 @@ _spdk_blob_load_snapshot_cpl(void *cb_arg, struct spdk_blob *snapshot, int bserr
	struct spdk_blob_load_ctx	*ctx = cb_arg;
	struct spdk_blob		*blob = ctx->blob;

	if (bserrno != 0) {
		goto error;
	}

	if (bserrno == 0) {
		blob->back_bs_dev = spdk_bs_create_blob_bs_dev(snapshot);

		if (blob->back_bs_dev == NULL) {
			bserrno = -ENOMEM;
		goto error;
		}
	}
	if (bserrno != 0) {
		SPDK_ERRLOG("Snapshot fail\n");
	}

	_spdk_blob_load_final(ctx, bserrno);
	return;

error:
	SPDK_ERRLOG("Snapshot fail\n");
	ctx->cb_fn(ctx->seq, ctx->cb_arg, bserrno);
	spdk_free(ctx->pages);
	free(ctx);
}

static void