All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] improve nvme error logging
@ 2022-12-12 14:25 amit.engel
  2022-12-12 14:25 ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
  2022-12-12 14:25 ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
  0 siblings, 2 replies; 14+ messages in thread
From: amit.engel @ 2022-12-12 14:25 UTC (permalink / raw)
  To: sagi, linux-nvme; +Cc: amit.engel, Amit Engel

From: Amit Engel <Amit.Engel@dell.com>

Add nvme_opcode_str func for all nvme cmd types (io/admin/fabrics)
Add additional debug info for nvme_tcp_timeout log

Amit Engel (2):
  nvme: add nvme_opcode_str function for all nvme cmd types
  nvme-tcp: add additional info for nvme_tcp_timeout log

 drivers/nvme/host/constants.c | 16 ++++++++++++++++
 drivers/nvme/host/nvme.h      | 13 +++++++++++++
 drivers/nvme/host/tcp.c       |  7 +++++--
 3 files changed, 34 insertions(+), 2 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 14:25 [PATCH 0/2] improve nvme error logging amit.engel
@ 2022-12-12 14:25 ` amit.engel
  2022-12-12 16:32   ` Caleb Sander
  2022-12-12 20:00   ` Chaitanya Kulkarni
  2022-12-12 14:25 ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
  1 sibling, 2 replies; 14+ messages in thread
From: amit.engel @ 2022-12-12 14:25 UTC (permalink / raw)
  To: sagi, linux-nvme; +Cc: amit.engel, Amit Engel

From: Amit Engel <Amit.Engel@dell.com>

nvme_opcode_str will handle io/admin/fabrics ops

This improves NVMe errors logging

Signed-off-by: Amit Engel <Amit.Engel@dell.com>
---
 drivers/nvme/host/constants.c | 16 ++++++++++++++++
 drivers/nvme/host/nvme.h      | 13 +++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/drivers/nvme/host/constants.c b/drivers/nvme/host/constants.c
index e958d5015585..81a1d1d8d506 100644
--- a/drivers/nvme/host/constants.c
+++ b/drivers/nvme/host/constants.c
@@ -54,6 +54,14 @@ static const char * const nvme_admin_ops[] = {
 	[nvme_admin_get_lba_status] = "Get LBA Status",
 };
 
+static const char * const nvme_fabrics_ops[] = {
+	[nvme_fabrics_type_property_set] = "Property Set",
+	[nvme_fabrics_type_property_get] = "Property Get",
+	[nvme_fabrics_type_connect] = "Connect",
+	[nvme_fabrics_type_auth_send] = "Authentication Send",
+	[nvme_fabrics_type_auth_receive] = "Authentication Receive",
+};
+
 static const char * const nvme_statuses[] = {
 	[NVME_SC_SUCCESS] = "Success",
 	[NVME_SC_INVALID_OPCODE] = "Invalid Command Opcode",
@@ -185,3 +193,11 @@ const unsigned char *nvme_get_admin_opcode_str(u8 opcode)
 		return nvme_admin_ops[opcode];
 	return "Unknown";
 }
+EXPORT_SYMBOL_GPL(nvme_get_admin_opcode_str);
+
+const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode) {
+	if (opcode < ARRAY_SIZE(nvme_admin_ops) && nvme_fabrics_ops[opcode])
+		return nvme_fabrics_ops[opcode];
+	return "Unknown";
+}
+EXPORT_SYMBOL_GPL(nvme_get_fabrics_opcode_str);
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 16b34a491495..c247daf8c86a 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -1057,6 +1057,7 @@ static inline bool nvme_multi_css(struct nvme_ctrl *ctrl)
 const unsigned char *nvme_get_error_status_str(u16 status);
 const unsigned char *nvme_get_opcode_str(u8 opcode);
 const unsigned char *nvme_get_admin_opcode_str(u8 opcode);
+const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode);
 #else /* CONFIG_NVME_VERBOSE_ERRORS */
 static inline const unsigned char *nvme_get_error_status_str(u16 status)
 {
@@ -1070,6 +1071,18 @@ static inline const unsigned char *nvme_get_admin_opcode_str(u8 opcode)
 {
 	return "Admin Cmd";
 }
+
+static inline const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode)
+{
+	return "Fabrics Cmd";
+}
 #endif /* CONFIG_NVME_VERBOSE_ERRORS */
 
+static inline const unsigned char *nvme_opcode_str(int qid, u8 opcode, u8 fctype)
+{
+	if (opcode == nvme_fabrics_command)
+		return nvme_get_fabrics_opcode_str(fctype);
+	return qid ? nvme_get_opcode_str(opcode) :
+		nvme_get_admin_opcode_str(opcode);
+}
 #endif /* _NVME_H */
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log
  2022-12-12 14:25 [PATCH 0/2] improve nvme error logging amit.engel
  2022-12-12 14:25 ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
@ 2022-12-12 14:25 ` amit.engel
  2022-12-12 19:40   ` [PATCH 0/2] improve nvme error logging amit.engel
                     ` (2 more replies)
  1 sibling, 3 replies; 14+ messages in thread
From: amit.engel @ 2022-12-12 14:25 UTC (permalink / raw)
  To: sagi, linux-nvme; +Cc: amit.engel, Amit Engel

From: Amit Engel <Amit.Engel@dell.com>

This provides additional details about the rq/cmd that is timed out

example log if CONFIG_NVME_VERBOSE_ERRORS is configured:
"nvme nvme0: queue 2 timeout cid 0xd058 type 4 opc Write (0x1)"

example log if CONFIG_NVME_VERBOSE_ERRORS is not configured:
"nvme nvme0: queue 2 timeout cid 0xd058 type 4 opc I/O Cmd (0x1)"

Signed-off-by: Amit Engel <Amit.Engel@dell.com>
---
 drivers/nvme/host/tcp.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index 1eed0fc26b3a..2676f6787d30 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -2275,10 +2275,13 @@ static enum blk_eh_timer_return nvme_tcp_timeout(struct request *rq)
 	struct nvme_tcp_request *req = blk_mq_rq_to_pdu(rq);
 	struct nvme_ctrl *ctrl = &req->queue->ctrl->ctrl;
 	struct nvme_tcp_cmd_pdu *pdu = req->pdu;
+	u8 opc = pdu->cmd.common.opcode, fctype = pdu->cmd.fabrics.fctype;
+	int qid = nvme_tcp_queue_id(req->queue);
 
 	dev_warn(ctrl->device,
-		"queue %d: timeout request %#x type %d\n",
-		nvme_tcp_queue_id(req->queue), rq->tag, pdu->hdr.type);
+		"queue %d: timeout cid %#x type %d opcode %#x (%s)\n",
+		nvme_tcp_queue_id(req->queue), nvme_cid(rq), pdu->hdr.type,
+		opc, nvme_opcode_str(qid, opc, fctype));
 
 	if (ctrl->state != NVME_CTRL_LIVE) {
 		/*
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 14:25 ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
@ 2022-12-12 16:32   ` Caleb Sander
  2022-12-12 19:41     ` Engel, Amit
  2022-12-12 20:00   ` Chaitanya Kulkarni
  1 sibling, 1 reply; 14+ messages in thread
From: Caleb Sander @ 2022-12-12 16:32 UTC (permalink / raw)
  To: amit.engel; +Cc: sagi, linux-nvme

On Mon, Dec 12, 2022 at 6:33 AM <amit.engel@dell.com> wrote:
>
> +const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode) {
> +       if (opcode < ARRAY_SIZE(nvme_admin_ops) && nvme_fabrics_ops[opcode])
> +               return nvme_fabrics_ops[opcode];

Why bounds-check opcode against nvme_admin_ops but access nvme_fabrics_ops?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 0/2] improve nvme error logging
  2022-12-12 14:25 ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
@ 2022-12-12 19:40   ` amit.engel
  2022-12-19 14:40     ` Engel, Amit
  2023-01-23 16:46     ` Christoph Hellwig
  2022-12-12 19:40   ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
  2022-12-12 19:40   ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
  2 siblings, 2 replies; 14+ messages in thread
From: amit.engel @ 2022-12-12 19:40 UTC (permalink / raw)
  To: sagi, linux-nvme; +Cc: amit.engel, Amit Engel

From: Amit Engel <Amit.Engel@dell.com>

Add nvme_opcode_str func for all nvme cmd types (io/admin/fabrics)
Add additional debug info for nvme_tcp_timeout log

Amit Engel (2):
  nvme: add nvme_opcode_str function for all nvme cmd types
  nvme-tcp: add additional info for nvme_tcp_timeout log

 drivers/nvme/host/constants.c | 16 ++++++++++++++++
 drivers/nvme/host/nvme.h      | 13 +++++++++++++
 drivers/nvme/host/tcp.c       |  7 +++++--
 3 files changed, 34 insertions(+), 2 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 14:25 ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
  2022-12-12 19:40   ` [PATCH 0/2] improve nvme error logging amit.engel
@ 2022-12-12 19:40   ` amit.engel
  2022-12-25  8:52     ` Sagi Grimberg
  2022-12-12 19:40   ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
  2 siblings, 1 reply; 14+ messages in thread
From: amit.engel @ 2022-12-12 19:40 UTC (permalink / raw)
  To: sagi, linux-nvme; +Cc: amit.engel, Amit Engel

From: Amit Engel <Amit.Engel@dell.com>

nvme_opcode_str will handle io/admin/fabrics ops

This improves NVMe errors logging

Signed-off-by: Amit Engel <Amit.Engel@dell.com>
---
 drivers/nvme/host/constants.c | 16 ++++++++++++++++
 drivers/nvme/host/nvme.h      | 13 +++++++++++++
 2 files changed, 29 insertions(+)

diff --git a/drivers/nvme/host/constants.c b/drivers/nvme/host/constants.c
index e958d5015585..bc523ca02254 100644
--- a/drivers/nvme/host/constants.c
+++ b/drivers/nvme/host/constants.c
@@ -54,6 +54,14 @@ static const char * const nvme_admin_ops[] = {
 	[nvme_admin_get_lba_status] = "Get LBA Status",
 };
 
+static const char * const nvme_fabrics_ops[] = {
+	[nvme_fabrics_type_property_set] = "Property Set",
+	[nvme_fabrics_type_property_get] = "Property Get",
+	[nvme_fabrics_type_connect] = "Connect",
+	[nvme_fabrics_type_auth_send] = "Authentication Send",
+	[nvme_fabrics_type_auth_receive] = "Authentication Receive",
+};
+
 static const char * const nvme_statuses[] = {
 	[NVME_SC_SUCCESS] = "Success",
 	[NVME_SC_INVALID_OPCODE] = "Invalid Command Opcode",
@@ -185,3 +193,11 @@ const unsigned char *nvme_get_admin_opcode_str(u8 opcode)
 		return nvme_admin_ops[opcode];
 	return "Unknown";
 }
+EXPORT_SYMBOL_GPL(nvme_get_admin_opcode_str);
+
+const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode) {
+	if (opcode < ARRAY_SIZE(nvme_fabrics_ops) && nvme_fabrics_ops[opcode])
+		return nvme_fabrics_ops[opcode];
+	return "Unknown";
+}
+EXPORT_SYMBOL_GPL(nvme_get_fabrics_opcode_str);
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index 16b34a491495..c247daf8c86a 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -1057,6 +1057,7 @@ static inline bool nvme_multi_css(struct nvme_ctrl *ctrl)
 const unsigned char *nvme_get_error_status_str(u16 status);
 const unsigned char *nvme_get_opcode_str(u8 opcode);
 const unsigned char *nvme_get_admin_opcode_str(u8 opcode);
+const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode);
 #else /* CONFIG_NVME_VERBOSE_ERRORS */
 static inline const unsigned char *nvme_get_error_status_str(u16 status)
 {
@@ -1070,6 +1071,18 @@ static inline const unsigned char *nvme_get_admin_opcode_str(u8 opcode)
 {
 	return "Admin Cmd";
 }
+
+static inline const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode)
+{
+	return "Fabrics Cmd";
+}
 #endif /* CONFIG_NVME_VERBOSE_ERRORS */
 
+static inline const unsigned char *nvme_opcode_str(int qid, u8 opcode, u8 fctype)
+{
+	if (opcode == nvme_fabrics_command)
+		return nvme_get_fabrics_opcode_str(fctype);
+	return qid ? nvme_get_opcode_str(opcode) :
+		nvme_get_admin_opcode_str(opcode);
+}
 #endif /* _NVME_H */
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log
  2022-12-12 14:25 ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
  2022-12-12 19:40   ` [PATCH 0/2] improve nvme error logging amit.engel
  2022-12-12 19:40   ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
@ 2022-12-12 19:40   ` amit.engel
  2022-12-25  8:53     ` Sagi Grimberg
  2 siblings, 1 reply; 14+ messages in thread
From: amit.engel @ 2022-12-12 19:40 UTC (permalink / raw)
  To: sagi, linux-nvme; +Cc: amit.engel, Amit Engel

From: Amit Engel <Amit.Engel@dell.com>

This provides additional details about the rq/cmd that is timed out

example log if CONFIG_NVME_VERBOSE_ERRORS is configured:
"nvme nvme0: queue 2 timeout cid 0xd058 type 4 opc Write (0x1)"

example log if CONFIG_NVME_VERBOSE_ERRORS is not configured:
"nvme nvme0: queue 2 timeout cid 0xd058 type 4 opc I/O Cmd (0x1)"

Signed-off-by: Amit Engel <Amit.Engel@dell.com>
---
 drivers/nvme/host/tcp.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/nvme/host/tcp.c b/drivers/nvme/host/tcp.c
index 1eed0fc26b3a..2676f6787d30 100644
--- a/drivers/nvme/host/tcp.c
+++ b/drivers/nvme/host/tcp.c
@@ -2275,10 +2275,13 @@ static enum blk_eh_timer_return nvme_tcp_timeout(struct request *rq)
 	struct nvme_tcp_request *req = blk_mq_rq_to_pdu(rq);
 	struct nvme_ctrl *ctrl = &req->queue->ctrl->ctrl;
 	struct nvme_tcp_cmd_pdu *pdu = req->pdu;
+	u8 opc = pdu->cmd.common.opcode, fctype = pdu->cmd.fabrics.fctype;
+	int qid = nvme_tcp_queue_id(req->queue);
 
 	dev_warn(ctrl->device,
-		"queue %d: timeout request %#x type %d\n",
-		nvme_tcp_queue_id(req->queue), rq->tag, pdu->hdr.type);
+		"queue %d: timeout cid %#x type %d opcode %#x (%s)\n",
+		nvme_tcp_queue_id(req->queue), nvme_cid(rq), pdu->hdr.type,
+		opc, nvme_opcode_str(qid, opc, fctype));
 
 	if (ctrl->state != NVME_CTRL_LIVE) {
 		/*
-- 
2.31.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* RE: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 16:32   ` Caleb Sander
@ 2022-12-12 19:41     ` Engel, Amit
  0 siblings, 0 replies; 14+ messages in thread
From: Engel, Amit @ 2022-12-12 19:41 UTC (permalink / raw)
  To: Caleb Sander; +Cc: sagi, linux-nvme

Correct, fixed

-----Original Message-----
From: Caleb Sander <csander@purestorage.com> 
Sent: Monday, 12 December 2022 18:33
To: Engel, Amit <Amit.Engel@Dell.com>
Cc: sagi@grimberg.me; linux-nvme@lists.infradead.org
Subject: Re: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types


[EXTERNAL EMAIL] 

On Mon, Dec 12, 2022 at 6:33 AM <amit.engel@dell.com> wrote:
>
> +const unsigned char *nvme_get_fabrics_opcode_str(u8 opcode) {
> +       if (opcode < ARRAY_SIZE(nvme_admin_ops) && nvme_fabrics_ops[opcode])
> +               return nvme_fabrics_ops[opcode];

Why bounds-check opcode against nvme_admin_ops but access nvme_fabrics_ops?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 14:25 ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
  2022-12-12 16:32   ` Caleb Sander
@ 2022-12-12 20:00   ` Chaitanya Kulkarni
  2022-12-13 15:37     ` Engel, Amit
  1 sibling, 1 reply; 14+ messages in thread
From: Chaitanya Kulkarni @ 2022-12-12 20:00 UTC (permalink / raw)
  To: amit.engel, sagi, linux-nvme

On 12/12/22 06:25, amit.engel@dell.com wrote:
> From: Amit Engel <Amit.Engel@dell.com>
> 
> nvme_opcode_str will handle io/admin/fabrics ops
> 
> This improves NVMe errors logging
> 
> Signed-off-by: Amit Engel <Amit.Engel@dell.com>

fix the commit log...

-ck



^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 20:00   ` Chaitanya Kulkarni
@ 2022-12-13 15:37     ` Engel, Amit
  0 siblings, 0 replies; 14+ messages in thread
From: Engel, Amit @ 2022-12-13 15:37 UTC (permalink / raw)
  To: Chaitanya Kulkarni, sagi, linux-nvme

Hi ck,
thank you for the review.
what's wrong with the commit log for [PATCH 1/2]?

"
    nvme: add nvme_opcode_str function for all nvme cmd types
    
    nvme_opcode_str will handle io/admin/fabrics ops
    
    This improves NVMe errors logging
    
    Signed-off-by: Amit Engel <Amit.Engel@dell.com> "

Thanks
Amit

-----Original Message-----
From: Chaitanya Kulkarni <chaitanyak@nvidia.com> 
Sent: Monday, 12 December 2022 22:01
To: Engel, Amit <Amit.Engel@Dell.com>; sagi@grimberg.me; linux-nvme@lists.infradead.org
Subject: Re: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types


[EXTERNAL EMAIL] 

On 12/12/22 06:25, amit.engel@dell.com wrote:
> From: Amit Engel <Amit.Engel@dell.com>
> 
> nvme_opcode_str will handle io/admin/fabrics ops
> 
> This improves NVMe errors logging
> 
> Signed-off-by: Amit Engel <Amit.Engel@dell.com>

fix the commit log...

-ck



^ permalink raw reply	[flat|nested] 14+ messages in thread

* RE: [PATCH 0/2] improve nvme error logging
  2022-12-12 19:40   ` [PATCH 0/2] improve nvme error logging amit.engel
@ 2022-12-19 14:40     ` Engel, Amit
  2023-01-23 16:46     ` Christoph Hellwig
  1 sibling, 0 replies; 14+ messages in thread
From: Engel, Amit @ 2022-12-19 14:40 UTC (permalink / raw)
  To: sagi, linux-nvme

Hi Sagi, can you please review and let me know if anything is missing so the below will be ready for merge ?

Thanks,
Amit

-----Original Message-----
From: Engel, Amit <Amit.Engel@Dell.com> 
Sent: Monday, 12 December 2022 21:41
To: sagi@grimberg.me; linux-nvme@lists.infradead.org
Cc: Engel, Amit <Amit.Engel@Dell.com>; Engel, Amit <Amit.Engel@Dell.com>
Subject: [PATCH 0/2] improve nvme error logging

From: Amit Engel <Amit.Engel@dell.com>

Add nvme_opcode_str func for all nvme cmd types (io/admin/fabrics) Add additional debug info for nvme_tcp_timeout log

Amit Engel (2):
  nvme: add nvme_opcode_str function for all nvme cmd types
  nvme-tcp: add additional info for nvme_tcp_timeout log

 drivers/nvme/host/constants.c | 16 ++++++++++++++++
 drivers/nvme/host/nvme.h      | 13 +++++++++++++
 drivers/nvme/host/tcp.c       |  7 +++++--
 3 files changed, 34 insertions(+), 2 deletions(-)

--
2.31.1


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types
  2022-12-12 19:40   ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
@ 2022-12-25  8:52     ` Sagi Grimberg
  0 siblings, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2022-12-25  8:52 UTC (permalink / raw)
  To: amit.engel, linux-nvme

Reviewed-by: Sagi Grimberg <sagi@grimberg.me>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log
  2022-12-12 19:40   ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
@ 2022-12-25  8:53     ` Sagi Grimberg
  0 siblings, 0 replies; 14+ messages in thread
From: Sagi Grimberg @ 2022-12-25  8:53 UTC (permalink / raw)
  To: amit.engel, linux-nvme

Reviewed-by: Sagi Grimberg <sagi@grimberg.me>


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 0/2] improve nvme error logging
  2022-12-12 19:40   ` [PATCH 0/2] improve nvme error logging amit.engel
  2022-12-19 14:40     ` Engel, Amit
@ 2023-01-23 16:46     ` Christoph Hellwig
  1 sibling, 0 replies; 14+ messages in thread
From: Christoph Hellwig @ 2023-01-23 16:46 UTC (permalink / raw)
  To: amit.engel; +Cc: sagi, linux-nvme

Thanks,

applied to nvme-6.3.



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-01-23 16:51 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-12 14:25 [PATCH 0/2] improve nvme error logging amit.engel
2022-12-12 14:25 ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
2022-12-12 16:32   ` Caleb Sander
2022-12-12 19:41     ` Engel, Amit
2022-12-12 20:00   ` Chaitanya Kulkarni
2022-12-13 15:37     ` Engel, Amit
2022-12-12 14:25 ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
2022-12-12 19:40   ` [PATCH 0/2] improve nvme error logging amit.engel
2022-12-19 14:40     ` Engel, Amit
2023-01-23 16:46     ` Christoph Hellwig
2022-12-12 19:40   ` [PATCH 1/2] nvme: add nvme_opcode_str function for all nvme cmd types amit.engel
2022-12-25  8:52     ` Sagi Grimberg
2022-12-12 19:40   ` [PATCH 2/2] nvme-tcp: add additional info for nvme_tcp_timeout log amit.engel
2022-12-25  8:53     ` Sagi Grimberg

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.