From a9a5e663c7f207707273e39f03fe55a7da056482 Mon Sep 17 00:00:00 2001 From: Shuhei Matsumoto Date: Sun, 31 Oct 2021 20:28:00 +0900 Subject: [PATCH] bdev/nvme: Remove unnecessary error check from bdev_nvme_reset_ctrlr() spdk_for_each_channel() always passes status=0 to its completion callback if each channel completes the requested function successfully. bdev_nvme_reset_destroy_qpair() always succeeds. Hence bdev_nvme_reset_ctrlr() does not have to check if the passed status is not zero. The following patches will aggregate multiple flags into a single state for nvme_ctrlr. This change will simplify these. Signed-off-by: Shuhei Matsumoto Change-Id: I1c30c9b20c96886516029e69e90dc23d777a69b4 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10077 Tested-by: SPDK CI Jenkins Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Reviewed-by: Ben Walker Reviewed-by: Jim Harris Reviewed-by: Aleksey Marchuk --- module/bdev/nvme/bdev_nvme.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/module/bdev/nvme/bdev_nvme.c b/module/bdev/nvme/bdev_nvme.c index f6395c14d..6f5daf1e0 100644 --- a/module/bdev/nvme/bdev_nvme.c +++ b/module/bdev/nvme/bdev_nvme.c @@ -1313,23 +1313,18 @@ bdev_nvme_reset_ctrlr(struct spdk_io_channel_iter *i, int status) struct nvme_ctrlr *nvme_ctrlr = spdk_io_channel_iter_get_io_device(i); int rc; - if (status) { - goto err; - } + assert(status == 0); rc = spdk_nvme_ctrlr_reset_async(nvme_ctrlr->ctrlr, &nvme_ctrlr->reset_ctx); if (rc != 0) { SPDK_ERRLOG("Create controller reset context failed\n"); - goto err; + bdev_nvme_reset_complete(nvme_ctrlr, false); + return; } assert(nvme_ctrlr->reset_detach_poller == NULL); nvme_ctrlr->reset_detach_poller = SPDK_POLLER_REGISTER(bdev_nvme_ctrlr_reset_poll, nvme_ctrlr, 0); - return; - -err: - bdev_nvme_reset_complete(nvme_ctrlr, false); } static void @@ -1339,6 +1334,7 @@ bdev_nvme_reset_destroy_qpair(struct spdk_io_channel_iter *i) struct nvme_ctrlr_channel *ctrlr_ch = spdk_io_channel_get_ctx(ch); bdev_nvme_destroy_qpair(ctrlr_ch); + spdk_for_each_channel_continue(i, 0); }