Commit 78cb0e19 authored by YankunLi's avatar YankunLi Committed by Konrad Sztyber
Browse files

nvme: check name for bdev_nvme_attach_controller cmd



Change-Id: Icdc85bcf4823d28e9f529bf310863c4a165ec0dd
Signed-off-by: default avatarYankunLi <yankun@staff.sina.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/19126


Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarLiYankun <845245370@qq.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Community-CI: Mellanox Build Bot
parent 10c72665
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -36,6 +36,8 @@

#define NSID_STR_LEN 10

#define SPDK_CONTROLLER_NAME_MAX 512

static int bdev_nvme_config_json(struct spdk_json_write_ctx *w);

struct nvme_bdev_io {
@@ -5941,6 +5943,7 @@ bdev_nvme_create(struct spdk_nvme_transport_id *trid,
	struct nvme_probe_skip_entry	*entry, *tmp;
	struct nvme_async_probe_ctx	*ctx;
	spdk_nvme_attach_cb attach_cb;
	int len;

	/* TODO expand this check to include both the host and target TRIDs.
	 * Only if both are the same should we fail.
@@ -5950,6 +5953,13 @@ bdev_nvme_create(struct spdk_nvme_transport_id *trid,
		return -EEXIST;
	}

	len = strnlen(base_name, SPDK_CONTROLLER_NAME_MAX);

	if (len == 0 || len == SPDK_CONTROLLER_NAME_MAX) {
		SPDK_ERRLOG("controller name must be between 1 and %d characters\n", SPDK_CONTROLLER_NAME_MAX - 1);
		return -EINVAL;
	}

	if (bdev_opts != NULL &&
	    !bdev_nvme_check_io_error_resiliency_params(bdev_opts->ctrlr_loss_timeout_sec,
			    bdev_opts->reconnect_delay_sec,