Commit 8be08e43 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

bdev/crypto: use spdk_bdev_io_complete_base_io_status()



This ensures that users will receive more detailed error information
from the base bdev.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I398a830f69974511b2840780e8a8b5f44bcb8efd
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20732


Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarArtur Paszkiewicz <artur.paszkiewicz@intel.com>
parent d3c080b1
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -180,14 +180,13 @@ _complete_internal_io(struct spdk_bdev_io *bdev_io, bool success, void *cb_arg)
	struct spdk_bdev_io *orig_io = cb_arg;
	struct crypto_bdev_io *crypto_io = (struct crypto_bdev_io *)orig_io->driver_ctx;
	struct crypto_io_channel *crypto_ch = crypto_io->crypto_ch;
	int status = success ? SPDK_BDEV_IO_STATUS_SUCCESS : SPDK_BDEV_IO_STATUS_FAILED;

	if (crypto_io->aux_buf_raw) {
		spdk_accel_put_buf(crypto_ch->accel_channel, crypto_io->aux_buf_raw,
				   crypto_io->aux_domain, crypto_io->aux_domain_ctx);
	}

	spdk_bdev_io_complete(orig_io, status);
	spdk_bdev_io_complete_base_io_status(orig_io, bdev_io);
	spdk_bdev_free_io(bdev_io);
}

+7 −0
Original line number Diff line number Diff line
@@ -206,6 +206,13 @@ spdk_bdev_io_complete(struct spdk_bdev_io *bdev_io, enum spdk_bdev_io_status sta
	g_completion_called = true;
}

void
spdk_bdev_io_complete_base_io_status(struct spdk_bdev_io *bdev_io,
				     const struct spdk_bdev_io *base_io)
{
	spdk_bdev_io_complete(bdev_io, base_io->internal.status);
}

struct ut_vbdev_crypto_accel_cpl_args {
	spdk_accel_completion_cb cb_fn;
	void *cb_arg;