|
Daniel Wagner |
4c9283 |
From: Hannes Reinecke <hare@suse.de>
|
|
Daniel Wagner |
4c9283 |
Date: Wed, 22 Sep 2021 08:35:25 +0200
|
|
Daniel Wagner |
4c9283 |
Subject: nvme: display correct subsystem NQN
|
|
Daniel Wagner |
4c9283 |
Patch-mainline: v5.16-rc1
|
|
Daniel Wagner |
4c9283 |
Git-commit: e5ea42faa773c6a6bb5d9e9f5c2cc808940b5a55
|
|
Daniel Wagner |
4c9283 |
References: bsc#1192761
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
With discovery controllers supporting unique subsystem NQNs the
|
|
Daniel Wagner |
4c9283 |
actual subsystem NQN might be different from that one passed in
|
|
Daniel Wagner |
4c9283 |
via the connect args. So add a helper to display the resulting
|
|
Daniel Wagner |
4c9283 |
subsystem NQN.
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
Daniel Wagner |
4c9283 |
Reviewed-by: Chaitanya Kulkarni <kch@nvidia.com>
|
|
Daniel Wagner |
4c9283 |
Signed-off-by: Christoph Hellwig <hch@lst.de>
|
|
Daniel Wagner |
4c9283 |
Acked-by: Daniel Wagner <dwagner@suse.de>
|
|
Daniel Wagner |
4c9283 |
---
|
|
Daniel Wagner |
4c9283 |
drivers/nvme/host/core.c | 2 +-
|
|
Daniel Wagner |
4c9283 |
drivers/nvme/host/fabrics.h | 7 +++++++
|
|
Daniel Wagner |
4c9283 |
drivers/nvme/host/fc.c | 2 +-
|
|
Daniel Wagner |
4c9283 |
drivers/nvme/host/rdma.c | 2 +-
|
|
Daniel Wagner |
4c9283 |
drivers/nvme/host/tcp.c | 2 +-
|
|
Daniel Wagner |
4c9283 |
5 files changed, 11 insertions(+), 4 deletions(-)
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
--- a/drivers/nvme/host/core.c
|
|
Daniel Wagner |
4c9283 |
+++ b/drivers/nvme/host/core.c
|
|
Daniel Wagner |
4c9283 |
@@ -208,7 +208,7 @@ EXPORT_SYMBOL_GPL(nvme_reset_ctrl_sync);
|
|
Daniel Wagner |
4c9283 |
static void nvme_do_delete_ctrl(struct nvme_ctrl *ctrl)
|
|
Daniel Wagner |
4c9283 |
{
|
|
Daniel Wagner |
4c9283 |
dev_info(ctrl->device,
|
|
Daniel Wagner |
4c9283 |
- "Removing ctrl: NQN \"%s\"\n", ctrl->opts->subsysnqn);
|
|
Daniel Wagner |
4c9283 |
+ "Removing ctrl: NQN \"%s\"\n", nvmf_ctrl_subsysnqn(ctrl));
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
flush_work(&ctrl->reset_work);
|
|
Daniel Wagner |
4c9283 |
nvme_stop_ctrl(ctrl);
|
|
Daniel Wagner |
4c9283 |
--- a/drivers/nvme/host/fabrics.h
|
|
Daniel Wagner |
4c9283 |
+++ b/drivers/nvme/host/fabrics.h
|
|
Daniel Wagner |
4c9283 |
@@ -179,6 +179,13 @@ nvmf_ctlr_matches_baseopts(struct nvme_c
|
|
Daniel Wagner |
4c9283 |
return true;
|
|
Daniel Wagner |
4c9283 |
}
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
+static inline char *nvmf_ctrl_subsysnqn(struct nvme_ctrl *ctrl)
|
|
Daniel Wagner |
4c9283 |
+{
|
|
Daniel Wagner |
4c9283 |
+ if (!ctrl->subsys)
|
|
Daniel Wagner |
4c9283 |
+ return ctrl->opts->subsysnqn;
|
|
Daniel Wagner |
4c9283 |
+ return ctrl->subsys->subnqn;
|
|
Daniel Wagner |
4c9283 |
+}
|
|
Daniel Wagner |
4c9283 |
+
|
|
Daniel Wagner |
4c9283 |
int nvmf_reg_read32(struct nvme_ctrl *ctrl, u32 off, u32 *val);
|
|
Daniel Wagner |
4c9283 |
int nvmf_reg_read64(struct nvme_ctrl *ctrl, u32 off, u64 *val);
|
|
Daniel Wagner |
4c9283 |
int nvmf_reg_write32(struct nvme_ctrl *ctrl, u32 off, u32 val);
|
|
Daniel Wagner |
4c9283 |
--- a/drivers/nvme/host/fc.c
|
|
Daniel Wagner |
4c9283 |
+++ b/drivers/nvme/host/fc.c
|
|
Daniel Wagner |
4c9283 |
@@ -3573,7 +3573,7 @@ nvme_fc_init_ctrl(struct device *dev, st
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
dev_info(ctrl->ctrl.device,
|
|
Daniel Wagner |
4c9283 |
"NVME-FC{%d}: new ctrl: NQN \"%s\"\n",
|
|
Daniel Wagner |
4c9283 |
- ctrl->cnum, ctrl->ctrl.opts->subsysnqn);
|
|
Daniel Wagner |
4c9283 |
+ ctrl->cnum, nvmf_ctrl_subsysnqn(&ctrl->ctrl));
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
return &ctrl->ctrl;
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
--- a/drivers/nvme/host/rdma.c
|
|
Daniel Wagner |
4c9283 |
+++ b/drivers/nvme/host/rdma.c
|
|
Daniel Wagner |
4c9283 |
@@ -2392,7 +2392,7 @@ static struct nvme_ctrl *nvme_rdma_creat
|
|
Daniel Wagner |
4c9283 |
goto out_uninit_ctrl;
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
dev_info(ctrl->ctrl.device, "new ctrl: NQN \"%s\", addr %pISpcs\n",
|
|
Daniel Wagner |
4c9283 |
- ctrl->ctrl.opts->subsysnqn, &ctrl->addr);
|
|
Daniel Wagner |
4c9283 |
+ nvmf_ctrl_subsysnqn(&ctrl->ctrl), &ctrl->addr);
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
mutex_lock(&nvme_rdma_ctrl_mutex);
|
|
Daniel Wagner |
4c9283 |
list_add_tail(&ctrl->list, &nvme_rdma_ctrl_list);
|
|
Daniel Wagner |
4c9283 |
--- a/drivers/nvme/host/tcp.c
|
|
Daniel Wagner |
4c9283 |
+++ b/drivers/nvme/host/tcp.c
|
|
Daniel Wagner |
4c9283 |
@@ -2614,7 +2614,7 @@ static struct nvme_ctrl *nvme_tcp_create
|
|
Daniel Wagner |
4c9283 |
goto out_uninit_ctrl;
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
dev_info(ctrl->ctrl.device, "new ctrl: NQN \"%s\", addr %pISp\n",
|
|
Daniel Wagner |
4c9283 |
- ctrl->ctrl.opts->subsysnqn, &ctrl->addr);
|
|
Daniel Wagner |
4c9283 |
+ nvmf_ctrl_subsysnqn(&ctrl->ctrl), &ctrl->addr);
|
|
Daniel Wagner |
4c9283 |
|
|
Daniel Wagner |
4c9283 |
mutex_lock(&nvme_tcp_ctrl_mutex);
|
|
Daniel Wagner |
4c9283 |
list_add_tail(&ctrl->list, &nvme_tcp_ctrl_list);
|