From d88fa8c11ef855019c20efa2523705e8380d4d7c Mon Sep 17 00:00:00 2001 From: Konrad Sztyber Date: Mon, 6 Dec 2021 14:29:56 +0100 Subject: [PATCH] nvmf: complete resubmitted requests If a request gets resubmitted and is completed immediately (i.e. the processing function returns SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE), the upper layer needs to be notified via spdk_nvmf_request_complete(). Signed-off-by: Konrad Sztyber Change-Id: I236d6e68d1d7d83afdaa30d8bb07e2b133f43155 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10788 Community-CI: Broadcom CI Community-CI: Mellanox Build Bot Reviewed-by: Jim Harris Reviewed-by: Ben Walker Tested-by: SPDK CI Jenkins --- lib/nvmf/ctrlr_bdev.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/nvmf/ctrlr_bdev.c b/lib/nvmf/ctrlr_bdev.c index 7e1ce1955..01faece8d 100644 --- a/lib/nvmf/ctrlr_bdev.c +++ b/lib/nvmf/ctrlr_bdev.c @@ -242,16 +242,24 @@ static void nvmf_ctrlr_process_io_cmd_resubmit(void *arg) { struct spdk_nvmf_request *req = arg; + int rc; - nvmf_ctrlr_process_io_cmd(req); + rc = nvmf_ctrlr_process_io_cmd(req); + if (rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE) { + spdk_nvmf_request_complete(req); + } } static void nvmf_ctrlr_process_admin_cmd_resubmit(void *arg) { struct spdk_nvmf_request *req = arg; + int rc; - nvmf_ctrlr_process_admin_cmd(req); + rc = nvmf_ctrlr_process_admin_cmd(req); + if (rc == SPDK_NVMF_REQUEST_EXEC_STATUS_COMPLETE) { + spdk_nvmf_request_complete(req); + } } static void