Commit 552f6517 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

nvmf: expose nvmf_nqn_is_valid()



It'll make it possible to use from places other places.  Also, rename
it to adhere to our usual naming conventions.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I9293f88666914f34ccac33dbd94e9dd6674fdeb2
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20899


Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Community-CI: Mellanox Build Bot
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
parent 206ace4a
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -477,6 +477,11 @@ nvmf_qpair_is_admin_queue(struct spdk_nvmf_qpair *qpair)
	return qpair->qid == 0;
}

/*
 * Tests whether a given string represents a valid NQN.
 */
bool nvmf_nqn_is_valid(const char *nqn);

/**
 * Initiates a zcopy start operation
 *
+4 −4
Original line number Diff line number Diff line
@@ -61,8 +61,8 @@ nvmf_valid_ascii_string(const void *buf, size_t size)
	return true;
}

static bool
nvmf_valid_nqn(const char *nqn)
bool
nvmf_nqn_is_valid(const char *nqn)
{
	size_t len;
	struct spdk_uuid uuid_value;
@@ -229,7 +229,7 @@ spdk_nvmf_subsystem_create(struct spdk_nvmf_tgt *tgt,
		return NULL;
	}

	if (!nvmf_valid_nqn(nqn)) {
	if (!nvmf_nqn_is_valid(nqn)) {
		return NULL;
	}

@@ -804,7 +804,7 @@ spdk_nvmf_subsystem_add_host(struct spdk_nvmf_subsystem *subsystem, const char *
	struct spdk_nvmf_transport *transport;
	int rc;

	if (!nvmf_valid_nqn(hostnqn)) {
	if (!nvmf_nqn_is_valid(hostnqn)) {
		return -EINVAL;
	}

+8 −8
Original line number Diff line number Diff line
@@ -1598,7 +1598,7 @@ test_nvmf_ns_reservation_report(void)
}

static void
test_nvmf_valid_nqn(void)
test_nvmf_nqn_is_valid(void)
{
	bool rc;
	char uuid[SPDK_NVMF_UUID_STRING_LEN + 1] = {};
@@ -1611,28 +1611,28 @@ test_nvmf_valid_nqn(void)
	/* discovery nqn */
	snprintf(nqn, sizeof(nqn), "%s", SPDK_NVMF_DISCOVERY_NQN);

	rc = nvmf_valid_nqn(nqn);
	rc = nvmf_nqn_is_valid(nqn);
	CU_ASSERT(rc == true);

	/* nqn with uuid */
	memset(nqn, 0xff, sizeof(nqn));
	snprintf(nqn, sizeof(nqn), "%s%s", SPDK_NVMF_NQN_UUID_PRE, uuid);

	rc = nvmf_valid_nqn(nqn);
	rc = nvmf_nqn_is_valid(nqn);
	CU_ASSERT(rc == true);

	/* Check nqn valid reverse domain */
	memset(nqn, 0xff, sizeof(nqn));
	snprintf(nqn, sizeof(nqn), "%s", "nqn.2016-06.io.spdk:cnode1");

	rc = nvmf_valid_nqn(nqn);
	rc = nvmf_nqn_is_valid(nqn);
	CU_ASSERT(rc == true);

	/* Invalid nqn length */
	memset(nqn, 0xff, sizeof(nqn));
	snprintf(nqn, sizeof(nqn), "%s", "nqn.");

	rc = nvmf_valid_nqn(nqn);
	rc = nvmf_nqn_is_valid(nqn);
	CU_ASSERT(rc == false);

	/* Copy uuid to the nqn string, but omit the last character to make it invalid */
@@ -1640,14 +1640,14 @@ test_nvmf_valid_nqn(void)
	snprintf(nqn, sizeof(nqn), "%s", SPDK_NVMF_NQN_UUID_PRE);
	memcpy(&nqn[SPDK_NVMF_NQN_UUID_PRE_LEN], uuid, SPDK_NVMF_UUID_STRING_LEN - 1);

	rc = nvmf_valid_nqn(nqn);
	rc = nvmf_nqn_is_valid(nqn);
	CU_ASSERT(rc == false);

	/* Invalid domain */
	memset(nqn, 0xff, SPDK_NVMF_NQN_MAX_LEN + 1);
	snprintf(nqn, sizeof(nqn), "%s", "nqn.2016-06.io...spdk:cnode1");

	rc = nvmf_valid_nqn(nqn);
	rc = nvmf_nqn_is_valid(nqn);
	CU_ASSERT(rc == false);
}

@@ -1805,7 +1805,7 @@ main(int argc, char **argv)
	CU_ADD_TEST(suite, test_nvmf_subsystem_add_ctrlr);
	CU_ADD_TEST(suite, test_spdk_nvmf_subsystem_add_host);
	CU_ADD_TEST(suite, test_nvmf_ns_reservation_report);
	CU_ADD_TEST(suite, test_nvmf_valid_nqn);
	CU_ADD_TEST(suite, test_nvmf_nqn_is_valid);
	CU_ADD_TEST(suite, test_nvmf_ns_reservation_restore);
	CU_ADD_TEST(suite, test_nvmf_subsystem_state_change);