public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Robert Love <robert.w.love@intel.com>
To: James.Bottomley@HansenPartnership.com, linux-scsi@vger.kernel.org
Cc: Joe Eykholt <jeykholt@cisco.com>, Robert Love <robert.w.love@intel.com>
Subject: [PATCH 31/54] libfcoe: fip: use SCSI host number to identify debug messages.
Date: Tue, 03 Nov 2009 11:48:16 -0800	[thread overview]
Message-ID: <20091103194816.4085.41658.stgit@localhost.localdomain> (raw)
In-Reply-To: <20091103194530.4085.37963.stgit@localhost.localdomain>

From: Joe Eykholt <jeykholt@cisco.com>

Use scsi host number to identify debug messages.
Previously, no instance information was given, so if multiple
ports were active, it became confusing.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
---

 drivers/scsi/fcoe/libfcoe.c |   47 ++++++++++++++++++++++++-------------------
 1 files changed, 26 insertions(+), 21 deletions(-)

diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index 1ea17a3..99f583f 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -74,9 +74,10 @@ do {							\
 	LIBFCOE_CHECK_LOGGING(LIBFCOE_LOGGING,				\
 			      printk(KERN_INFO "libfcoe: " fmt, ##args);)
 
-#define LIBFCOE_FIP_DBG(fmt, args...)					\
+#define LIBFCOE_FIP_DBG(fip, fmt, args...)				\
 	LIBFCOE_CHECK_LOGGING(LIBFCOE_FIP_LOGGING,			\
-			      printk(KERN_INFO "fip: " fmt, ##args);)
+			      printk(KERN_INFO "host%d: fip: " fmt, 	\
+				     (fip)->lp->host->host_no, ##args);)
 
 /**
  * fcoe_ctlr_mtu_valid() - Check if a FCF's MTU is valid
@@ -267,7 +268,7 @@ void fcoe_ctlr_link_up(struct fcoe_ctlr *fip)
 		fip->link = 1;
 		spin_unlock_bh(&fip->lock);
 		if (fip->state == FIP_ST_AUTO)
-			LIBFCOE_FIP_DBG("%s", "setting AUTO mode.\n");
+			LIBFCOE_FIP_DBG(fip, "%s", "setting AUTO mode.\n");
 		fc_linkup(fip->lp);
 		fcoe_ctlr_solicit(fip, NULL);
 	} else
@@ -604,13 +605,15 @@ static void fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
 
 /**
  * fcoe_ctlr_parse_adv() - Decode a FIP advertisement into a new FCF entry
+ * @fip: The FCoE controller receiving the advertisement
  * @skb: The received FIP advertisement frame
  * @fcf: The resulting FCF entry
  *
  * Returns zero on a valid parsed advertisement,
  * otherwise returns non zero value.
  */
-static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf)
+static int fcoe_ctlr_parse_adv(struct fcoe_ctlr *fip,
+			       struct sk_buff *skb, struct fcoe_fcf *fcf)
 {
 	struct fip_header *fiph;
 	struct fip_desc *desc = NULL;
@@ -649,7 +652,7 @@ static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf)
 			       ((struct fip_mac_desc *)desc)->fd_mac,
 			       ETH_ALEN);
 			if (!is_valid_ether_addr(fcf->fcf_mac)) {
-				LIBFCOE_FIP_DBG("Invalid MAC address "
+				LIBFCOE_FIP_DBG(fip, "Invalid MAC address "
 						"in FIP adv\n");
 				return -EINVAL;
 			}
@@ -683,7 +686,7 @@ static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf)
 		case FIP_DT_LOGO:
 		case FIP_DT_ELP:
 		default:
-			LIBFCOE_FIP_DBG("unexpected descriptor type %x "
+			LIBFCOE_FIP_DBG(fip, "unexpected descriptor type %x "
 					"in FIP adv\n", desc->fip_dtype);
 			/* standard says ignore unknown descriptors >= 128 */
 			if (desc->fip_dtype < FIP_DT_VENDOR_BASE)
@@ -700,7 +703,7 @@ static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf)
 	return 0;
 
 len_err:
-	LIBFCOE_FIP_DBG("FIP length error in descriptor type %x len %zu\n",
+	LIBFCOE_FIP_DBG(fip, "FIP length error in descriptor type %x len %zu\n",
 			desc->fip_dtype, dlen);
 	return -EINVAL;
 }
@@ -719,7 +722,7 @@ static void fcoe_ctlr_recv_adv(struct fcoe_ctlr *fip, struct sk_buff *skb)
 	int first = 0;
 	int mtu_valid;
 
-	if (fcoe_ctlr_parse_adv(skb, &new))
+	if (fcoe_ctlr_parse_adv(fip, skb, &new))
 		return;
 
 	spin_lock_bh(&fip->lock);
@@ -765,7 +768,7 @@ static void fcoe_ctlr_recv_adv(struct fcoe_ctlr *fip, struct sk_buff *skb)
 	mtu_valid = fcoe_ctlr_mtu_valid(fcf);
 	fcf->time = jiffies;
 	if (!found) {
-		LIBFCOE_FIP_DBG("New FCF for fab %llx map %x val %d\n",
+		LIBFCOE_FIP_DBG(fip, "New FCF for fab %llx map %x val %d\n",
 				fcf->fabric_name, fcf->fc_map, mtu_valid);
 	}
 
@@ -844,7 +847,7 @@ static void fcoe_ctlr_recv_els(struct fcoe_ctlr *fip, struct sk_buff *skb)
 			       ((struct fip_mac_desc *)desc)->fd_mac,
 			       ETH_ALEN);
 			if (!is_valid_ether_addr(granted_mac)) {
-				LIBFCOE_FIP_DBG("Invalid MAC address "
+				LIBFCOE_FIP_DBG(fip, "Invalid MAC address "
 						"in FIP ELS\n");
 				goto drop;
 			}
@@ -864,7 +867,7 @@ static void fcoe_ctlr_recv_els(struct fcoe_ctlr *fip, struct sk_buff *skb)
 			els_dtype = desc->fip_dtype;
 			break;
 		default:
-			LIBFCOE_FIP_DBG("unexpected descriptor type %x "
+			LIBFCOE_FIP_DBG(fip, "unexpected descriptor type %x "
 					"in FIP adv\n", desc->fip_dtype);
 			/* standard says ignore unknown descriptors >= 128 */
 			if (desc->fip_dtype < FIP_DT_VENDOR_BASE)
@@ -903,7 +906,7 @@ static void fcoe_ctlr_recv_els(struct fcoe_ctlr *fip, struct sk_buff *skb)
 	return;
 
 len_err:
-	LIBFCOE_FIP_DBG("FIP length error in descriptor type %x len %zu\n",
+	LIBFCOE_FIP_DBG(fip, "FIP length error in descriptor type %x len %zu\n",
 			desc->fip_dtype, dlen);
 drop:
 	kfree_skb(skb);
@@ -930,7 +933,7 @@ static void fcoe_ctlr_recv_clr_vlink(struct fcoe_ctlr *fip,
 	struct fc_lport *lport = fip->lp;
 	u32	desc_mask;
 
-	LIBFCOE_FIP_DBG("Clear Virtual Link received\n");
+	LIBFCOE_FIP_DBG(fip, "Clear Virtual Link received\n");
 	if (!fcf)
 		return;
 	if (!fcf || !fc_host_port_id(lport->host))
@@ -989,9 +992,10 @@ static void fcoe_ctlr_recv_clr_vlink(struct fcoe_ctlr *fip,
 	 * reset only if all required descriptors were present and valid.
 	 */
 	if (desc_mask) {
-		LIBFCOE_FIP_DBG("missing descriptors mask %x\n", desc_mask);
+		LIBFCOE_FIP_DBG(fip, "missing descriptors mask %x\n",
+				desc_mask);
 	} else {
-		LIBFCOE_FIP_DBG("performing Clear Virtual Link\n");
+		LIBFCOE_FIP_DBG(fip, "performing Clear Virtual Link\n");
 		fcoe_ctlr_reset(fip, FIP_ST_ENABLED);
 	}
 }
@@ -1050,7 +1054,7 @@ static int fcoe_ctlr_recv_handler(struct fcoe_ctlr *fip, struct sk_buff *skb)
 		fip->map_dest = 0;
 		fip->state = FIP_ST_ENABLED;
 		state = FIP_ST_ENABLED;
-		LIBFCOE_FIP_DBG("Using FIP mode\n");
+		LIBFCOE_FIP_DBG(fip, "Using FIP mode\n");
 	}
 	spin_unlock_bh(&fip->lock);
 	if (state != FIP_ST_ENABLED)
@@ -1085,11 +1089,11 @@ static void fcoe_ctlr_select(struct fcoe_ctlr *fip)
 	struct fcoe_fcf *best = NULL;
 
 	list_for_each_entry(fcf, &fip->fcfs, list) {
-		LIBFCOE_FIP_DBG("consider FCF for fab %llx VFID %d map %x "
+		LIBFCOE_FIP_DBG(fip, "consider FCF for fab %llx VFID %d map %x "
 				"val %d\n", fcf->fabric_name, fcf->vfid,
 				fcf->fc_map, fcoe_ctlr_mtu_valid(fcf));
 		if (!fcoe_ctlr_fcf_usable(fcf)) {
-			LIBFCOE_FIP_DBG("FCF for fab %llx map %x %svalid "
+			LIBFCOE_FIP_DBG(fip, "FCF for fab %llx map %x %svalid "
 					"%savailable\n", fcf->fabric_name,
 					fcf->fc_map, (fcf->flags & FIP_FL_SOL)
 					? "" : "in", (fcf->flags & FIP_FL_AVAIL)
@@ -1103,7 +1107,7 @@ static void fcoe_ctlr_select(struct fcoe_ctlr *fip)
 		if (fcf->fabric_name != best->fabric_name ||
 		    fcf->vfid != best->vfid ||
 		    fcf->fc_map != best->fc_map) {
-			LIBFCOE_FIP_DBG("Conflicting fabric, VFID, "
+			LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, "
 					"or FC-MAP\n");
 			return;
 		}
@@ -1292,7 +1296,8 @@ int fcoe_ctlr_recv_flogi(struct fcoe_ctlr *fip, struct fc_lport *lport,
 			return -EINVAL;
 		}
 		fip->state = FIP_ST_NON_FIP;
-		LIBFCOE_FIP_DBG("received FLOGI LS_ACC using non-FIP mode\n");
+		LIBFCOE_FIP_DBG(fip,
+				"received FLOGI LS_ACC using non-FIP mode\n");
 
 		/*
 		 * FLOGI accepted.
@@ -1319,7 +1324,7 @@ int fcoe_ctlr_recv_flogi(struct fcoe_ctlr *fip, struct fc_lport *lport,
 			memcpy(fip->dest_addr, sa, ETH_ALEN);
 			fip->map_dest = 0;
 			if (fip->state == FIP_ST_NON_FIP)
-				LIBFCOE_FIP_DBG("received FLOGI REQ, "
+				LIBFCOE_FIP_DBG(fip, "received FLOGI REQ, "
 						"using non-FIP mode\n");
 			fip->state = FIP_ST_NON_FIP;
 		}


  parent reply	other threads:[~2009-11-03 19:48 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-11-03 19:45 [PATCH 00/54] libfc, libfcoe, fcoe and fnic updates for 2.6.33 Robert Love
2009-11-03 19:45 ` [PATCH 01/54] fnic: Allocate OS interrupt resources just before enabling interrupts Robert Love
2009-11-03 19:45 ` [PATCH 02/54] fcoe: Increase FCOE_MAX_LUN to 0xFFFF (65535) Robert Love
2009-11-03 19:45 ` [PATCH 03/54] libfc: Move non-common routines and prototypes out of libfc.h Robert Love
2009-11-03 19:45 ` [PATCH 04/54] libfc: Remove fc_fcp_complete Robert Love
2009-11-03 19:45 ` [PATCH 05/54] libfc: Add libfc/fc_libfc.[ch] for libfc internal routines Robert Love
2009-11-03 19:46 ` [PATCH 06/54] libfc: Move libfc_init and libfc_exit to fc_libfc.c Robert Love
2009-11-03 19:46 ` [PATCH 07/54] libfc: changes to libfc_host_alloc to consolidate initialization with allocation Robert Love
2009-11-03 19:46 ` [PATCH 08/54] libfc: add some generic NPIV support routines to libfc Robert Love
2009-11-03 19:46 ` [PATCH 09/54] libfc: vport link handling and fc_vport state managment Robert Love
2009-11-03 19:46 ` [PATCH 10/54] libfc, libfcoe: FDISC ELS for NPIV Robert Love
2009-11-03 19:46 ` [PATCH 11/54] libfcoe, fcoe: libfcoe NPIV support Robert Love
2009-11-03 19:46 ` [PATCH 12/54] fcoe: add a separate scsi transport template for NPIV vports Robert Love
2009-11-03 19:46 ` [PATCH 13/54] fcoe: NPIV vport create/destroy Robert Love
2009-11-03 19:46 ` [PATCH 14/54] libfc: RPN_ID is obsolete and unnecessary Robert Love
2009-11-03 19:46 ` [PATCH 15/54] libfc: RNN_ID may be required before RSNN_NN with some switches Robert Love
2009-11-03 19:46 ` [PATCH 16/54] libfc: Register Symbolic Node Name (RSNN_NN) Robert Love
2009-11-03 19:47 ` [PATCH 17/54] libfc: Register Symbolic Port Name (RSPN_ID) Robert Love
2009-11-03 19:47 ` [PATCH 18/54] libfc: combine name server registration response handlers Robert Love
2009-11-03 19:47 ` [PATCH 19/54] libfc: combine name server registration request functions Robert Love
2009-11-03 19:47 ` [PATCH 20/54] fcoe: vport symbolic name support Robert Love
2009-11-03 19:47 ` [PATCH 21/54] libfc: Export FC headers Robert Love
2009-11-03 19:47 ` [PATCH 22/54] libfc: Add routine to copy data from a buffer to a SG list Robert Love
2009-11-03 19:47 ` [PATCH 23/54] libfc, fcoe: Add FC passthrough support Robert Love
2009-11-03 19:47 ` [PATCH 24/54] libfc: Formatting cleanups across libfc Robert Love
2009-11-03 19:47 ` [PATCH 25/54] libfcoe: formatting and comment cleanups Robert Love
2009-11-03 19:47 ` [PATCH 26/54] fcoe: Formatting cleanups and commenting Robert Love
2009-11-03 19:47 ` [PATCH 27/54] fcoe, libfc: use single frame allocation API Robert Love
2009-11-03 19:48 ` [PATCH 28/54] libfc: reduce can_queue for all FCP frame allocation failures Robert Love
2009-11-03 19:48 ` [PATCH 29/54] libfc: adds can_queue ramp up Robert Love
2009-11-03 19:48 ` [PATCH 30/54] libfcoe: Allow FIP to be disabled by the driver Robert Love
2009-11-03 19:48 ` Robert Love [this message]
2009-11-03 19:48 ` [PATCH 32/54] libfcoe: fip: allow FIP receive to be called from IRQ Robert Love
2009-11-03 19:48 ` [PATCH 33/54] libfcoe: FIP should report link to libfc whether selected or not Robert Love
2009-11-03 19:48 ` [PATCH 34/54] libfcoe: don't send ELS in FIP mode if no FCF selected Robert Love
2009-11-03 19:48 ` [PATCH 35/54] fcoe: remove extra function decalrations Robert Love
2009-11-03 19:48 ` [PATCH 36/54] fcoe: add check to fail gracefully in bonding mode Robert Love
2009-11-03 19:48 ` [PATCH 37/54] libfc: fix RNN_ID smashing skb payload Robert Love
2009-11-03 19:48 ` [PATCH 38/54] libfc: fix symbolic name registrations smashing skb data Robert Love
2009-11-03 19:49 ` [PATCH 39/54] libfc: fix fc_els_resp_type to correct display of CT responses Robert Love
2009-11-03 19:49 ` [PATCH 40/54] libfc: add set_fid function to libfc template Robert Love
2009-11-03 19:49 ` [PATCH 41/54] libfc: add host number to lport link up/down messages Robert Love
2009-11-03 19:49 ` [PATCH 42/54] libfcoe: fcoe: simplify receive FLOGI response Robert Love
2009-11-03 19:49 ` [PATCH 43/54] fnic: Add FIP support to the fnic driver Robert Love
2009-11-03 19:49 ` [PATCH 44/54] libfc: register FC4 features with the FC switch Robert Love
2009-11-03 19:49 ` [PATCH 45/54] fnic: enable bsg pass-thru for fcping Robert Love
2009-11-03 19:49 ` [PATCH 46/54] fcoe: Fix checking san mac address Robert Love
2009-11-03 19:49 ` [PATCH 47/54] fcoe: Fix getting san mac for VLAN interface Robert Love
2009-11-03 19:49 ` [PATCH 48/54] fcoe: Fix setting lport's WWNN/WWPN to use san mac address Robert Love
2009-11-03 19:49 ` [PATCH 49/54] libfc: do not use DID_NO_CONNECT for pkt alloc failures Robert Love
2009-11-03 19:49 ` [PATCH 50/54] fcoe: Fix using VLAN ID in creating lport's WWWN/WWPN Robert Love
2009-11-03 19:50 ` [PATCH 51/54] libfc, fcoe: fixes for highmem skb linearize panics Robert Love
2009-11-03 19:50 ` [PATCH 52/54] libfc: fix an issue of pending exch/es after i/f destroyed or rmmod fcoe Robert Love
2009-11-03 19:50 ` [PATCH 53/54] libfcoe: Do not pad FIP keep-alive to full frame size Robert Love
2009-11-03 19:50 ` [PATCH 54/54] libfc fcoe: increase ELS and CT timeouts Robert Love

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20091103194816.4085.41658.stgit@localhost.localdomain \
    --to=robert.w.love@intel.com \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=jeykholt@cisco.com \
    --cc=linux-scsi@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox