module/opal: fix use of wrong ch when queueing IO

Was using the ch provided at submit, needs to use the base ch

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I383eb418a6448b829c25da5eb2f75a9420475ca2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/817
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Darek Stojaczyk <dariusz.stojaczyk@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
This commit is contained in:
paul luse 2020-02-11 20:31:23 +00:00 committed by Tomasz Zawadzki
parent dc6da12cba
commit 223108d16e

View File

@ -168,13 +168,14 @@ vbdev_opal_resubmit_io(void *arg)
static void static void
vbdev_opal_queue_io(struct vbdev_opal_bdev_io *io_ctx) vbdev_opal_queue_io(struct vbdev_opal_bdev_io *io_ctx)
{ {
struct vbdev_opal_channel *ch = spdk_io_channel_get_ctx(io_ctx->ch);
int rc; int rc;
io_ctx->bdev_io_wait.bdev = io_ctx->bdev_io->bdev; io_ctx->bdev_io_wait.bdev = io_ctx->bdev_io->bdev;
io_ctx->bdev_io_wait.cb_fn = vbdev_opal_resubmit_io; io_ctx->bdev_io_wait.cb_fn = vbdev_opal_resubmit_io;
io_ctx->bdev_io_wait.cb_arg = io_ctx; io_ctx->bdev_io_wait.cb_arg = io_ctx;
rc = spdk_bdev_queue_io_wait(io_ctx->bdev_io->bdev, io_ctx->ch, &io_ctx->bdev_io_wait); rc = spdk_bdev_queue_io_wait(io_ctx->bdev_io->bdev, ch->part_ch.base_ch, &io_ctx->bdev_io_wait);
if (rc != 0) { if (rc != 0) {
SPDK_ERRLOG("Queue io failed in vbdev_opal_queue_io: %d\n", rc); SPDK_ERRLOG("Queue io failed in vbdev_opal_queue_io: %d\n", rc);