2018-04-19 17:45:29

by Johannes Thumshirn

[permalink] [raw]
Subject: [PATCH] nvme: fc: provide a descriptive error

Provide a descriptive error in case an lport to rport association
isn't found when creating the FC-NVME controller.

Currently it's very hard to debug the reason for a failed connect
attempt without a look at the source.

Signed-off-by: Johannes Thumshirn <[email protected]>

---
This actually happened to Hannes and me becuase of a typo in a
customer demo today, so yes things like this happen unitl we have a
proper way to do auto-connect.
---
drivers/nvme/host/fc.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
index 6cb26bcf6ec0..8b66879b4ebf 100644
--- a/drivers/nvme/host/fc.c
+++ b/drivers/nvme/host/fc.c
@@ -3284,6 +3284,8 @@ nvme_fc_create_ctrl(struct device *dev, struct nvmf_ctrl_options *opts)
}
spin_unlock_irqrestore(&nvme_fc_lock, flags);

+ pr_warn("%s: %s - %s combination not found\n",
+ __func__, opts->traddr, opts->host_traddr);
return ERR_PTR(-ENOENT);
}

--
2.16.3



2018-04-19 21:22:05

by James Smart

[permalink] [raw]
Subject: Re: [PATCH] nvme: fc: provide a descriptive error

On 4/19/2018 10:43 AM, Johannes Thumshirn wrote:
> Provide a descriptive error in case an lport to rport association
> isn't found when creating the FC-NVME controller.
>
> Currently it's very hard to debug the reason for a failed connect
> attempt without a look at the source.
>
> Signed-off-by: Johannes Thumshirn <[email protected]>
>
> ---
> This actually happened to Hannes and me becuase of a typo in a
> customer demo today, so yes things like this happen unitl we have a
> proper way to do auto-connect.
> ---
> drivers/nvme/host/fc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
> index 6cb26bcf6ec0..8b66879b4ebf 100644
> --- a/drivers/nvme/host/fc.c
> +++ b/drivers/nvme/host/fc.c
> @@ -3284,6 +3284,8 @@ nvme_fc_create_ctrl(struct device *dev, struct nvmf_ctrl_options *opts)
> }
> spin_unlock_irqrestore(&nvme_fc_lock, flags);
>
> + pr_warn("%s: %s - %s combination not found\n",
> + __func__, opts->traddr, opts->host_traddr);
> return ERR_PTR(-ENOENT);
> }
>

Signed-off-by:  James Smart  <[email protected]>

2018-04-20 05:45:33

by Hannes Reinecke

[permalink] [raw]
Subject: Re: [PATCH] nvme: fc: provide a descriptive error

On 04/19/2018 07:43 PM, Johannes Thumshirn wrote:
> Provide a descriptive error in case an lport to rport association
> isn't found when creating the FC-NVME controller.
>
> Currently it's very hard to debug the reason for a failed connect
> attempt without a look at the source.
>
> Signed-off-by: Johannes Thumshirn <[email protected]>
>
> ---
> This actually happened to Hannes and me because of a typo in a
> customer demo today, so yes things like this happen until we have a
> proper way to do auto-connect.
> ---
> drivers/nvme/host/fc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c
> index 6cb26bcf6ec0..8b66879b4ebf 100644
> --- a/drivers/nvme/host/fc.c
> +++ b/drivers/nvme/host/fc.c
> @@ -3284,6 +3284,8 @@ nvme_fc_create_ctrl(struct device *dev, struct nvmf_ctrl_options *opts)
> }
> spin_unlock_irqrestore(&nvme_fc_lock, flags);
>
> + pr_warn("%s: %s - %s combination not found\n",
> + __func__, opts->traddr, opts->host_traddr);
> return ERR_PTR(-ENOENT);
> }
>
>
Reviewed-by: Hannes Reinecke <[email protected]>

Cheers,

Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
[email protected] +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

2018-04-23 18:25:13

by Keith Busch

[permalink] [raw]
Subject: Re: [PATCH] nvme: fc: provide a descriptive error

Thanks, staged for 4.18.