Commit fa36884a authored by Ben Walker's avatar Ben Walker Committed by Tomasz Zawadzki
Browse files

bdev/nvme: Inline bdev_nvme_delete_secondary_trid



It can be much simpler when inlined.

Signed-off-by: default avatarBen Walker <benjamin.walker@intel.com>
Change-Id: Ifad89d7b9557a45eee601fc2004066a0fd9289c0
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9826


Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarShuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
Reviewed-by: default avatarChangpeng Liu <changpeng.liu@intel.com>
Reviewed-by: default avatarAleksey Marchuk <alexeymar@mellanox.com>
parent be6a2fef
Loading
Loading
Loading
Loading
+3 −26
Original line number Diff line number Diff line
@@ -3107,27 +3107,6 @@ bdev_nvme_create(struct spdk_nvme_transport_id *trid,
	return 0;
}

static int
bdev_nvme_delete_secondary_trid(struct nvme_ctrlr *nvme_ctrlr,
				const struct spdk_nvme_transport_id *trid)
{
	struct nvme_path_id	*path_id, *tmp_path;

	if (!spdk_nvme_transport_id_compare(trid, &nvme_ctrlr->active_path_id->trid)) {
		return -EBUSY;
	}

	TAILQ_FOREACH_SAFE(path_id, &nvme_ctrlr->trids, link, tmp_path) {
		if (!spdk_nvme_transport_id_compare(&path_id->trid, trid)) {
			TAILQ_REMOVE(&nvme_ctrlr->trids, path_id, link);
			free(path_id);
			return 0;
		}
	}

	return -ENXIO;
}

int
bdev_nvme_delete(const char *name, const struct nvme_path_id *path_id)
{
@@ -3146,10 +3125,6 @@ bdev_nvme_delete(const char *name, const struct nvme_path_id *path_id)
		return -ENODEV;
	}

	/* The following is based on an assumption that one trid can be registered
	 * to only one nvme_ctrlr.
	 */

	TAILQ_FOREACH_SAFE(nvme_ctrlr, &nbdev_ctrlr->ctrlrs, tailq, tmp_nvme_ctrlr) {
		TAILQ_FOREACH_REVERSE_SAFE(p, &nvme_ctrlr->trids, nvme_paths, link, t) {
			if (path_id->trid.trtype != 0) {
@@ -3201,7 +3176,9 @@ bdev_nvme_delete(const char *name, const struct nvme_path_id *path_id)
				}
			} else {
				/* We are not using the specified path. */
				rc = bdev_nvme_delete_secondary_trid(nvme_ctrlr, &p->trid);
				TAILQ_REMOVE(&nvme_ctrlr->trids, p, link);
				free(p);
				rc = 0;
			}

			if (rc < 0 && rc != -ENXIO) {