[SCSI] libfc: add print of exchange id for debugging fc_fcp
authorYi Zou <yi.zou@intel.com>
Wed, 1 Dec 2010 00:19:15 +0000 (16:19 -0800)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 21 Dec 2010 18:24:25 +0000 (12:24 -0600)
This is very helpful to match up the corresponding exchange to the actual I/O
described by the fsp, particularly when you do a side-by-side comparison of
the syslog with your trace.

Signed-off-by: Yi Zou <yi.zou@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/libfc/fc_libfc.h

index 16d2162dda1f62a5fb075f2120e0fc890c12d375..eea0c3541b712fc7fad71704fc62e46a10dd85ee 100644 (file)
@@ -66,9 +66,21 @@ extern unsigned int fc_debug_logging;
 
 #define FC_FCP_DBG(pkt, fmt, args...)                                  \
        FC_CHECK_LOGGING(FC_FCP_LOGGING,                                \
-                        printk(KERN_INFO "host%u: fcp: %6.6x: " fmt,   \
+       {                                                               \
+               if ((pkt)->seq_ptr) {                                   \
+                       struct fc_exch *_ep = NULL;                     \
+                       _ep = fc_seq_exch((pkt)->seq_ptr);              \
+                       printk(KERN_INFO "host%u: fcp: %6.6x: "         \
+                               "xid %04x-%04x: " fmt,                  \
                                (pkt)->lp->host->host_no,               \
-                               pkt->rport->port_id, ##args))
+                               (pkt)->rport->port_id,                  \
+                               (_ep)->oxid, (_ep)->rxid, ##args);      \
+               } else {                                                \
+                       printk(KERN_INFO "host%u: fcp: %6.6x: " fmt,    \
+                               (pkt)->lp->host->host_no,               \
+                               (pkt)->rport->port_id, ##args);         \
+               }                                                       \
+       })
 
 #define FC_EXCH_DBG(exch, fmt, args...)                                        \
        FC_CHECK_LOGGING(FC_EXCH_LOGGING,                               \