Commit 3f0a3930 authored by Jinlong Chen's avatar Jinlong Chen Committed by Konrad Sztyber
Browse files

blob_bdev: check ext_io_opts when resubmitting I/Os



ctx->ext_io_opts might be NULL, we should check it to determine
the right way to handle I/Os.

Change-Id: I60954b9f9320dc2b566f42ef12d2d60f86e62f08
Signed-off-by: default avatarJinlong Chen <chenjinlong2016@outlook.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/24273


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz@tzawadzki.com>
Reviewed-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
parent 001db1ea
Loading
Loading
Loading
Loading
+14 −4
Original line number Diff line number Diff line
@@ -289,8 +289,13 @@ bdev_blob_resubmit(void *arg)
	switch (ctx->io_type) {
	case SPDK_BDEV_IO_TYPE_READ:
		if (ctx->iovcnt > 0) {
			if (ctx->ext_io_opts) {
				bdev_blob_readv_ext(ctx->dev, ctx->channel, (struct iovec *) ctx->payload, ctx->iovcnt,
						    ctx->lba, ctx->lba_count, ctx->cb_args, ctx->ext_io_opts);
			} else {
				bdev_blob_readv(ctx->dev, ctx->channel, (struct iovec *) ctx->payload, ctx->iovcnt,
						ctx->lba, ctx->lba_count, ctx->cb_args);
			}
		} else {
			bdev_blob_read(ctx->dev, ctx->channel, ctx->payload,
				       ctx->lba, ctx->lba_count, ctx->cb_args);
@@ -298,8 +303,13 @@ bdev_blob_resubmit(void *arg)
		break;
	case SPDK_BDEV_IO_TYPE_WRITE:
		if (ctx->iovcnt > 0) {
			if (ctx->ext_io_opts) {
				bdev_blob_writev_ext(ctx->dev, ctx->channel, (struct iovec *) ctx->payload, ctx->iovcnt,
						     ctx->lba, ctx->lba_count, ctx->cb_args, ctx->ext_io_opts);
			} else {
				bdev_blob_writev(ctx->dev, ctx->channel, (struct iovec *) ctx->payload, ctx->iovcnt,
						 ctx->lba, ctx->lba_count, ctx->cb_args);
			}
		} else {
			bdev_blob_write(ctx->dev, ctx->channel, ctx->payload,
					ctx->lba, ctx->lba_count, ctx->cb_args);