Commit 460bd99a authored by Shuhei Matsumoto's avatar Shuhei Matsumoto Committed by Tomasz Zawadzki
Browse files

bdev/nvme: Consolidate error paths of _bdev_nvme_reset_create_qpairs_done()



Clarify the operation done in the error paths for readability.

Signed-off-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Change-Id: Icb8a1a7c569e88d474737d0449c8eef73759a633
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/4989


Community-CI: Broadcom CI
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 4e8f5d39
Loading
Loading
Loading
Loading
+13 −13
Original line number Diff line number Diff line
@@ -405,14 +405,14 @@ static void
_bdev_nvme_reset_create_qpairs_done(struct spdk_io_channel_iter *i, int status)
{
	struct nvme_bdev_ctrlr *nvme_bdev_ctrlr = spdk_io_channel_iter_get_io_device(i);
	void *ctx = spdk_io_channel_iter_get_ctx(i);
	struct nvme_bdev_io *bio = spdk_io_channel_iter_get_ctx(i);
	int rc = SPDK_BDEV_IO_STATUS_SUCCESS;

	if (status) {
		rc = SPDK_BDEV_IO_STATUS_FAILED;
	}
	if (ctx) {
		spdk_bdev_io_complete(spdk_bdev_io_from_ctx(ctx), rc);
	if (bio) {
		spdk_bdev_io_complete(spdk_bdev_io_from_ctx(bio), rc);
	}
	_bdev_nvme_reset_complete(nvme_bdev_ctrlr, status);
}
@@ -438,20 +438,13 @@ _bdev_nvme_reset(struct spdk_io_channel_iter *i, int status)
	int rc;

	if (status) {
		if (bio) {
			spdk_bdev_io_complete(spdk_bdev_io_from_ctx(bio), SPDK_BDEV_IO_STATUS_FAILED);
		}
		_bdev_nvme_reset_complete(nvme_bdev_ctrlr, status);
		return;
		rc = status;
		goto err;
	}

	rc = spdk_nvme_ctrlr_reset(nvme_bdev_ctrlr->ctrlr);
	if (rc != 0) {
		if (bio) {
			spdk_bdev_io_complete(spdk_bdev_io_from_ctx(bio), SPDK_BDEV_IO_STATUS_FAILED);
		}
		_bdev_nvme_reset_complete(nvme_bdev_ctrlr, rc);
		return;
		goto err;
	}

	/* Recreate all of the I/O queue pairs */
@@ -459,6 +452,13 @@ _bdev_nvme_reset(struct spdk_io_channel_iter *i, int status)
			      _bdev_nvme_reset_create_qpair,
			      bio,
			      _bdev_nvme_reset_create_qpairs_done);
	return;

err:
	if (bio) {
		spdk_bdev_io_complete(spdk_bdev_io_from_ctx(bio), SPDK_BDEV_IO_STATUS_FAILED);
	}
	_bdev_nvme_reset_complete(nvme_bdev_ctrlr, rc);
}

static void