bdev/uring: fix no data length set in bdev_uring_writev

This will result in SPDK_BDEV_IO_STATUS_FAILED when bdev_uring_reap

Signed-off-by: Yao Liu <yotta.liu@ucloud.cn>
Change-Id: I24bea544af7130b09c41156920d918200fe792e5
Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/471157
Community-CI: Broadcom SPDK FC-NVMe CI <spdk-ci.pdl@broadcom.com>
Reviewed-by: Paul Luse <paul.e.luse@intel.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
This commit is contained in:
Yao Liu 2019-10-12 16:15:36 +08:00 committed by Jim Harris
parent 00d692d0df
commit 1b805ae4a8

View File

@ -171,6 +171,7 @@ bdev_uring_writev(struct bdev_uring *uring, struct spdk_io_channel *ch,
sqe = io_uring_get_sqe(&group_ch->uring); sqe = io_uring_get_sqe(&group_ch->uring);
io_uring_prep_writev(sqe, uring->fd, iov, iovcnt, offset); io_uring_prep_writev(sqe, uring->fd, iov, iovcnt, offset);
io_uring_sqe_set_data(sqe, uring_task); io_uring_sqe_set_data(sqe, uring_task);
uring_task->len = nbytes;
uring_task->ch = uring_ch; uring_task->ch = uring_ch;
SPDK_DEBUGLOG(SPDK_LOG_URING, "write %d iovs size %lu from off: %#lx\n", SPDK_DEBUGLOG(SPDK_LOG_URING, "write %d iovs size %lu from off: %#lx\n",