From d7c7fbcda79a745afc2baf17bb4189c708b201eb Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Wed, 29 Sep 2021 00:08:37 +0900 Subject: [PATCH] bdev/nvme: Inline bdev_nvme_io_complete() into bdev_nvme_reset_io_complete() Even when I/O retry is supported, reset will not be retried. However, bdev_nvme_io_complete() will process I/O retry. Hence inline bdev_nvme_io_complete() into bdev_nvme_reset_io_complete() to exclude reset from I/O retry. The result of reset is success or failure, so omit the -ENOMEM case. Signed-off-by: Shuhei Matsumoto Change-Id: I667e74cbbac4a13cefb6896f898476ba48bcd0fa Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9687 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins Reviewed-by: Ben Walker Reviewed-by: Aleksey Marchuk --- module/bdev/nvme/bdev_nvme.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index d79d3a325..848f8ee8e 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -1096,8 +1096,15 @@ static void bdev_nvme_reset_io_complete(void *cb_arg, int rc) { struct nvme_bdev_io *bio = cb_arg; + enum spdk_bdev_io_status io_status; - bdev_nvme_io_complete(bio, rc); + if (rc == 0) { + io_status = SPDK_BDEV_IO_STATUS_SUCCESS; + } else { + io_status = SPDK_BDEV_IO_STATUS_FAILED; + } + + spdk_bdev_io_complete(spdk_bdev_io_from_ctx(bio), io_status); } static int