module/delay: use the correct ch when queueing IO

Was using the ch provided by submit, should be using the base ch

Signed-off-by: paul luse <paul.e.luse@intel.com>
Change-Id: I2f49dcd62c246f72b11abd24ef4674ff529fefaf
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/816
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:23:46 +00:00 committed by Tomasz Zawadzki
parent 31851b152c
commit dc6da12cba

View File

@ -242,13 +242,14 @@ static void
vbdev_delay_queue_io(struct spdk_bdev_io *bdev_io) vbdev_delay_queue_io(struct spdk_bdev_io *bdev_io)
{ {
struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)bdev_io->driver_ctx; struct delay_bdev_io *io_ctx = (struct delay_bdev_io *)bdev_io->driver_ctx;
struct delay_io_channel *delay_ch = spdk_io_channel_get_ctx(io_ctx->ch);
int rc; int rc;
io_ctx->bdev_io_wait.bdev = bdev_io->bdev; io_ctx->bdev_io_wait.bdev = bdev_io->bdev;
io_ctx->bdev_io_wait.cb_fn = vbdev_delay_resubmit_io; io_ctx->bdev_io_wait.cb_fn = vbdev_delay_resubmit_io;
io_ctx->bdev_io_wait.cb_arg = bdev_io; io_ctx->bdev_io_wait.cb_arg = bdev_io;
rc = spdk_bdev_queue_io_wait(bdev_io->bdev, io_ctx->ch, &io_ctx->bdev_io_wait); rc = spdk_bdev_queue_io_wait(bdev_io->bdev, delay_ch->base_ch, &io_ctx->bdev_io_wait);
if (rc != 0) { if (rc != 0) {
SPDK_ERRLOG("Queue io failed in vbdev_delay_queue_io, rc=%d.\n", rc); SPDK_ERRLOG("Queue io failed in vbdev_delay_queue_io, rc=%d.\n", rc);
spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED); spdk_bdev_io_complete(bdev_io, SPDK_BDEV_IO_STATUS_FAILED);