Commit 10575b06 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

nvme: add helper function for getting default hostnqn



We'll need to get the default hostnqn in one more place in the upcoming
patch.

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


Reviewed-by: default avatarAleksey Marchuk <alexeymar@nvidia.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent c0501887
Loading
Loading
Loading
Loading
+15 −0
Original line number Diff line number Diff line
@@ -1610,4 +1610,19 @@ nvme_parse_addr(struct sockaddr_storage *sa, int family, const char *addr, const
	return ret;
}

int
nvme_get_default_hostnqn(char *buf, int len)
{
	char uuid[SPDK_UUID_STRING_LEN];
	int rc;

	spdk_uuid_fmt_lower(uuid, sizeof(uuid), &g_spdk_nvme_driver->default_extended_host_id);
	rc = snprintf(buf, len, "nqn.2014-08.org.nvmexpress:uuid:%s", uuid);
	if (rc < 0 || rc >= len) {
		return -EINVAL;
	}

	return 0;
}

SPDK_LOG_REGISTER_COMPONENT(nvme)
+1 −6
Original line number Diff line number Diff line
@@ -168,8 +168,6 @@ nvme_ctrlr_multi_iocs_enabled(struct spdk_nvme_ctrlr *ctrlr)
void
spdk_nvme_ctrlr_get_default_ctrlr_opts(struct spdk_nvme_ctrlr_opts *opts, size_t opts_size)
{
	char host_id_str[SPDK_UUID_STRING_LEN];

	assert(opts);

	opts->opts_size = opts_size;
@@ -196,10 +194,7 @@ spdk_nvme_ctrlr_get_default_ctrlr_opts(struct spdk_nvme_ctrlr_opts *opts, size_t

	if (nvme_driver_init() == 0) {
		if (FIELD_OK(hostnqn)) {
			spdk_uuid_fmt_lower(host_id_str, sizeof(host_id_str),
					    &g_spdk_nvme_driver->default_extended_host_id);
			snprintf(opts->hostnqn, sizeof(opts->hostnqn),
				 "nqn.2014-08.org.nvmexpress:uuid:%s", host_id_str);
			nvme_get_default_hostnqn(opts->hostnqn, sizeof(opts->hostnqn));
		}

		if (FIELD_OK(extended_host_id)) {
+1 −0
Original line number Diff line number Diff line
@@ -1687,6 +1687,7 @@ int nvme_ctrlr_get_ref_count(struct spdk_nvme_ctrlr *ctrlr);
int	nvme_ctrlr_reinitialize_io_qpair(struct spdk_nvme_ctrlr *ctrlr, struct spdk_nvme_qpair *qpair);
int	nvme_parse_addr(struct sockaddr_storage *sa, int family,
			const char *addr, const char *service, long int *port);
int	nvme_get_default_hostnqn(char *buf, int len);

static inline bool
_is_page_aligned(uint64_t address, uint64_t page_size)
+14 −2
Original line number Diff line number Diff line
@@ -35,6 +35,8 @@ uint32_t set_size = 1;

int set_status_cpl = -1;

#define UT_HOSTID "e53e9258-c93b-48b5-be1a-f025af6d232a"

DEFINE_STUB(nvme_ctrlr_cmd_set_host_id, int,
	    (struct spdk_nvme_ctrlr *ctrlr, void *host_id, uint32_t host_id_size,
	     spdk_nvme_cmd_cb cb_fn, void *cb_arg), 0);
@@ -55,6 +57,17 @@ DEFINE_STUB(spdk_nvme_ctrlr_cmd_security_send, int, (struct spdk_nvme_ctrlr *ctr
		uint32_t payload_size, spdk_nvme_cmd_cb cb_fn, void *cb_arg), 0);
DEFINE_STUB_V(nvme_qpair_abort_queued_reqs, (struct spdk_nvme_qpair *qpair));

int
nvme_get_default_hostnqn(char *buf, int len)
{
	const char *nqn = "nqn.2014-08.org.nvmexpress:uuid:" UT_HOSTID;

	SPDK_CU_ASSERT_FATAL(len >= (int)strlen(nqn));
	memcpy(buf, nqn, strlen(nqn));

	return 0;
}

DEFINE_RETURN_MOCK(nvme_transport_ctrlr_get_memory_domains, int);
int
nvme_transport_ctrlr_get_memory_domains(const struct spdk_nvme_ctrlr *ctrlr,
@@ -1904,8 +1917,7 @@ test_ctrlr_get_default_ctrlr_opts(void)
{
	struct spdk_nvme_ctrlr_opts opts = {};

	CU_ASSERT(spdk_uuid_parse(&g_spdk_nvme_driver->default_extended_host_id,
				  "e53e9258-c93b-48b5-be1a-f025af6d232a") == 0);
	CU_ASSERT(spdk_uuid_parse(&g_spdk_nvme_driver->default_extended_host_id, UT_HOSTID) == 0);

	memset(&opts, 0, sizeof(opts));