scsi: lpfc: Fix nodeinfo debugfs output
authorJames Smart <jsmart2021@gmail.com>
Mon, 1 Mar 2021 17:18:14 +0000 (09:18 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 4 Mar 2021 22:37:05 +0000 (17:37 -0500)
The debugfs nodeinfo output gets jumbled when no rpri or a defer entry is
displayed. The misalignment makes it difficult to read.

Change the format to consistently print out a 4 character rpi, and turn
defer into a suffix.

Link: https://lore.kernel.org/r/20210301171821.3427-16-jsmart2021@gmail.com
Co-developed-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: Dick Kennedy <dick.kennedy@broadcom.com>
Signed-off-by: James Smart <jsmart2021@gmail.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_debugfs.c

index bc79a01..689c183 100644 (file)
@@ -869,7 +869,7 @@ lpfc_debugfs_nodelist_data(struct lpfc_vport *vport, char *buf, int size)
                                "WWNN x%llx ",
                                wwn_to_u64(ndlp->nlp_nodename.u.wwn));
                if (ndlp->nlp_flag & NLP_RPI_REGISTERED)
-                       len += scnprintf(buf+len, size-len, "RPI:%03d ",
+                       len += scnprintf(buf+len, size-len, "RPI:%04d ",
                                        ndlp->nlp_rpi);
                else
                        len += scnprintf(buf+len, size-len, "RPI:none ");
@@ -895,7 +895,7 @@ lpfc_debugfs_nodelist_data(struct lpfc_vport *vport, char *buf, int size)
                if (ndlp->nlp_type & NLP_NVME_INITIATOR)
                        len += scnprintf(buf + len,
                                        size - len, "NVME_INITIATOR ");
-               len += scnprintf(buf+len, size-len, "refcnt:%x",
+               len += scnprintf(buf+len, size-len, "refcnt:%d",
                        kref_read(&ndlp->kref));
                if (iocnt) {
                        i = atomic_read(&ndlp->cmd_pending);
@@ -904,8 +904,11 @@ lpfc_debugfs_nodelist_data(struct lpfc_vport *vport, char *buf, int size)
                                        i, ndlp->cmd_qdepth);
                        outio += i;
                }
-               len += scnprintf(buf + len, size - len, "defer:%x ",
-                       ndlp->nlp_defer_did);
+               len += scnprintf(buf+len, size-len, " xpt:x%x",
+                                ndlp->fc4_xpt_flags);
+               if (ndlp->nlp_defer_did != NLP_EVT_NOTHING_PENDING)
+                       len += scnprintf(buf+len, size-len, " defer:%x",
+                                        ndlp->nlp_defer_did);
                len +=  scnprintf(buf+len, size-len, "\n");
        }
        spin_unlock_irq(shost->host_lock);