aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi
diff options
context:
space:
mode:
authorJoe Eykholt <jeykholt@cisco.com>2009-11-03 14:48:16 -0500
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 13:01:12 -0500
commit0f51c2e54c0bfdb6b02c53f6d7dd9b35f91821b6 (patch)
tree6acd2bbd203d396faee96c75d37f7097cec11474 /drivers/scsi
parent22bcd225bfe2107725228758137d2109befa942a (diff)
[SCSI] libfcoe: fip: use SCSI host number to identify debug messages.
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> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi')
-rw-r--r--drivers/scsi/fcoe/libfcoe.c47
1 files changed, 26 insertions, 21 deletions
diff --git a/drivers/scsi/fcoe/libfcoe.c b/drivers/scsi/fcoe/libfcoe.c
index 1ea17a3c8749..99f583f40df3 100644
--- a/drivers/scsi/fcoe/libfcoe.c
+++ b/drivers/scsi/fcoe/libfcoe.c
@@ -74,9 +74,10 @@ do { \
74 LIBFCOE_CHECK_LOGGING(LIBFCOE_LOGGING, \ 74 LIBFCOE_CHECK_LOGGING(LIBFCOE_LOGGING, \
75 printk(KERN_INFO "libfcoe: " fmt, ##args);) 75 printk(KERN_INFO "libfcoe: " fmt, ##args);)
76 76
77#define LIBFCOE_FIP_DBG(fmt, args...) \ 77#define LIBFCOE_FIP_DBG(fip, fmt, args...) \
78 LIBFCOE_CHECK_LOGGING(LIBFCOE_FIP_LOGGING, \ 78 LIBFCOE_CHECK_LOGGING(LIBFCOE_FIP_LOGGING, \
79 printk(KERN_INFO "fip: " fmt, ##args);) 79 printk(KERN_INFO "host%d: fip: " fmt, \
80 (fip)->lp->host->host_no, ##args);)
80 81
81/** 82/**
82 * fcoe_ctlr_mtu_valid() - Check if a FCF's MTU is valid 83 * 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)
267 fip->link = 1; 268 fip->link = 1;
268 spin_unlock_bh(&fip->lock); 269 spin_unlock_bh(&fip->lock);
269 if (fip->state == FIP_ST_AUTO) 270 if (fip->state == FIP_ST_AUTO)
270 LIBFCOE_FIP_DBG("%s", "setting AUTO mode.\n"); 271 LIBFCOE_FIP_DBG(fip, "%s", "setting AUTO mode.\n");
271 fc_linkup(fip->lp); 272 fc_linkup(fip->lp);
272 fcoe_ctlr_solicit(fip, NULL); 273 fcoe_ctlr_solicit(fip, NULL);
273 } else 274 } else
@@ -604,13 +605,15 @@ static void fcoe_ctlr_age_fcfs(struct fcoe_ctlr *fip)
604 605
605/** 606/**
606 * fcoe_ctlr_parse_adv() - Decode a FIP advertisement into a new FCF entry 607 * fcoe_ctlr_parse_adv() - Decode a FIP advertisement into a new FCF entry
608 * @fip: The FCoE controller receiving the advertisement
607 * @skb: The received FIP advertisement frame 609 * @skb: The received FIP advertisement frame
608 * @fcf: The resulting FCF entry 610 * @fcf: The resulting FCF entry
609 * 611 *
610 * Returns zero on a valid parsed advertisement, 612 * Returns zero on a valid parsed advertisement,
611 * otherwise returns non zero value. 613 * otherwise returns non zero value.
612 */ 614 */
613static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf) 615static int fcoe_ctlr_parse_adv(struct fcoe_ctlr *fip,
616 struct sk_buff *skb, struct fcoe_fcf *fcf)
614{ 617{
615 struct fip_header *fiph; 618 struct fip_header *fiph;
616 struct fip_desc *desc = NULL; 619 struct fip_desc *desc = NULL;
@@ -649,7 +652,7 @@ static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf)
649 ((struct fip_mac_desc *)desc)->fd_mac, 652 ((struct fip_mac_desc *)desc)->fd_mac,
650 ETH_ALEN); 653 ETH_ALEN);
651 if (!is_valid_ether_addr(fcf->fcf_mac)) { 654 if (!is_valid_ether_addr(fcf->fcf_mac)) {
652 LIBFCOE_FIP_DBG("Invalid MAC address " 655 LIBFCOE_FIP_DBG(fip, "Invalid MAC address "
653 "in FIP adv\n"); 656 "in FIP adv\n");
654 return -EINVAL; 657 return -EINVAL;
655 } 658 }
@@ -683,7 +686,7 @@ static int fcoe_ctlr_parse_adv(struct sk_buff *skb, struct fcoe_fcf *fcf)
683 case FIP_DT_LOGO: 686 case FIP_DT_LOGO:
684 case FIP_DT_ELP: 687 case FIP_DT_ELP:
685 default: 688 default:
686 LIBFCOE_FIP_DBG("unexpected descriptor type %x " 689 LIBFCOE_FIP_DBG(fip, "unexpected descriptor type %x "
687 "in FIP adv\n", desc->fip_dtype); 690 "in FIP adv\n", desc->fip_dtype);
688 /* standard says ignore unknown descriptors >= 128 */ 691 /* standard says ignore unknown descriptors >= 128 */
689 if (desc->fip_dtype < FIP_DT_VENDOR_BASE) 692 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)
700 return 0; 703 return 0;
701 704
702len_err: 705len_err:
703 LIBFCOE_FIP_DBG("FIP length error in descriptor type %x len %zu\n", 706 LIBFCOE_FIP_DBG(fip, "FIP length error in descriptor type %x len %zu\n",
704 desc->fip_dtype, dlen); 707 desc->fip_dtype, dlen);
705 return -EINVAL; 708 return -EINVAL;
706} 709}
@@ -719,7 +722,7 @@ static void fcoe_ctlr_recv_adv(struct fcoe_ctlr *fip, struct sk_buff *skb)
719 int first = 0; 722 int first = 0;
720 int mtu_valid; 723 int mtu_valid;
721 724
722 if (fcoe_ctlr_parse_adv(skb, &new)) 725 if (fcoe_ctlr_parse_adv(fip, skb, &new))
723 return; 726 return;
724 727
725 spin_lock_bh(&fip->lock); 728 spin_lock_bh(&fip->lock);
@@ -765,7 +768,7 @@ static void fcoe_ctlr_recv_adv(struct fcoe_ctlr *fip, struct sk_buff *skb)
765 mtu_valid = fcoe_ctlr_mtu_valid(fcf); 768 mtu_valid = fcoe_ctlr_mtu_valid(fcf);
766 fcf->time = jiffies; 769 fcf->time = jiffies;
767 if (!found) { 770 if (!found) {
768 LIBFCOE_FIP_DBG("New FCF for fab %llx map %x val %d\n", 771 LIBFCOE_FIP_DBG(fip, "New FCF for fab %llx map %x val %d\n",
769 fcf->fabric_name, fcf->fc_map, mtu_valid); 772 fcf->fabric_name, fcf->fc_map, mtu_valid);
770 } 773 }
771 774
@@ -844,7 +847,7 @@ static void fcoe_ctlr_recv_els(struct fcoe_ctlr *fip, struct sk_buff *skb)
844 ((struct fip_mac_desc *)desc)->fd_mac, 847 ((struct fip_mac_desc *)desc)->fd_mac,
845 ETH_ALEN); 848 ETH_ALEN);
846 if (!is_valid_ether_addr(granted_mac)) { 849 if (!is_valid_ether_addr(granted_mac)) {
847 LIBFCOE_FIP_DBG("Invalid MAC address " 850 LIBFCOE_FIP_DBG(fip, "Invalid MAC address "
848 "in FIP ELS\n"); 851 "in FIP ELS\n");
849 goto drop; 852 goto drop;
850 } 853 }
@@ -864,7 +867,7 @@ static void fcoe_ctlr_recv_els(struct fcoe_ctlr *fip, struct sk_buff *skb)
864 els_dtype = desc->fip_dtype; 867 els_dtype = desc->fip_dtype;
865 break; 868 break;
866 default: 869 default:
867 LIBFCOE_FIP_DBG("unexpected descriptor type %x " 870 LIBFCOE_FIP_DBG(fip, "unexpected descriptor type %x "
868 "in FIP adv\n", desc->fip_dtype); 871 "in FIP adv\n", desc->fip_dtype);
869 /* standard says ignore unknown descriptors >= 128 */ 872 /* standard says ignore unknown descriptors >= 128 */
870 if (desc->fip_dtype < FIP_DT_VENDOR_BASE) 873 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)
903 return; 906 return;
904 907
905len_err: 908len_err:
906 LIBFCOE_FIP_DBG("FIP length error in descriptor type %x len %zu\n", 909 LIBFCOE_FIP_DBG(fip, "FIP length error in descriptor type %x len %zu\n",
907 desc->fip_dtype, dlen); 910 desc->fip_dtype, dlen);
908drop: 911drop:
909 kfree_skb(skb); 912 kfree_skb(skb);
@@ -930,7 +933,7 @@ static void fcoe_ctlr_recv_clr_vlink(struct fcoe_ctlr *fip,
930 struct fc_lport *lport = fip->lp; 933 struct fc_lport *lport = fip->lp;
931 u32 desc_mask; 934 u32 desc_mask;
932 935
933 LIBFCOE_FIP_DBG("Clear Virtual Link received\n"); 936 LIBFCOE_FIP_DBG(fip, "Clear Virtual Link received\n");
934 if (!fcf) 937 if (!fcf)
935 return; 938 return;
936 if (!fcf || !fc_host_port_id(lport->host)) 939 if (!fcf || !fc_host_port_id(lport->host))
@@ -989,9 +992,10 @@ static void fcoe_ctlr_recv_clr_vlink(struct fcoe_ctlr *fip,
989 * reset only if all required descriptors were present and valid. 992 * reset only if all required descriptors were present and valid.
990 */ 993 */
991 if (desc_mask) { 994 if (desc_mask) {
992 LIBFCOE_FIP_DBG("missing descriptors mask %x\n", desc_mask); 995 LIBFCOE_FIP_DBG(fip, "missing descriptors mask %x\n",
996 desc_mask);
993 } else { 997 } else {
994 LIBFCOE_FIP_DBG("performing Clear Virtual Link\n"); 998 LIBFCOE_FIP_DBG(fip, "performing Clear Virtual Link\n");
995 fcoe_ctlr_reset(fip, FIP_ST_ENABLED); 999 fcoe_ctlr_reset(fip, FIP_ST_ENABLED);
996 } 1000 }
997} 1001}
@@ -1050,7 +1054,7 @@ static int fcoe_ctlr_recv_handler(struct fcoe_ctlr *fip, struct sk_buff *skb)
1050 fip->map_dest = 0; 1054 fip->map_dest = 0;
1051 fip->state = FIP_ST_ENABLED; 1055 fip->state = FIP_ST_ENABLED;
1052 state = FIP_ST_ENABLED; 1056 state = FIP_ST_ENABLED;
1053 LIBFCOE_FIP_DBG("Using FIP mode\n"); 1057 LIBFCOE_FIP_DBG(fip, "Using FIP mode\n");
1054 } 1058 }
1055 spin_unlock_bh(&fip->lock); 1059 spin_unlock_bh(&fip->lock);
1056 if (state != FIP_ST_ENABLED) 1060 if (state != FIP_ST_ENABLED)
@@ -1085,11 +1089,11 @@ static void fcoe_ctlr_select(struct fcoe_ctlr *fip)
1085 struct fcoe_fcf *best = NULL; 1089 struct fcoe_fcf *best = NULL;
1086 1090
1087 list_for_each_entry(fcf, &fip->fcfs, list) { 1091 list_for_each_entry(fcf, &fip->fcfs, list) {
1088 LIBFCOE_FIP_DBG("consider FCF for fab %llx VFID %d map %x " 1092 LIBFCOE_FIP_DBG(fip, "consider FCF for fab %llx VFID %d map %x "
1089 "val %d\n", fcf->fabric_name, fcf->vfid, 1093 "val %d\n", fcf->fabric_name, fcf->vfid,
1090 fcf->fc_map, fcoe_ctlr_mtu_valid(fcf)); 1094 fcf->fc_map, fcoe_ctlr_mtu_valid(fcf));
1091 if (!fcoe_ctlr_fcf_usable(fcf)) { 1095 if (!fcoe_ctlr_fcf_usable(fcf)) {
1092 LIBFCOE_FIP_DBG("FCF for fab %llx map %x %svalid " 1096 LIBFCOE_FIP_DBG(fip, "FCF for fab %llx map %x %svalid "
1093 "%savailable\n", fcf->fabric_name, 1097 "%savailable\n", fcf->fabric_name,
1094 fcf->fc_map, (fcf->flags & FIP_FL_SOL) 1098 fcf->fc_map, (fcf->flags & FIP_FL_SOL)
1095 ? "" : "in", (fcf->flags & FIP_FL_AVAIL) 1099 ? "" : "in", (fcf->flags & FIP_FL_AVAIL)
@@ -1103,7 +1107,7 @@ static void fcoe_ctlr_select(struct fcoe_ctlr *fip)
1103 if (fcf->fabric_name != best->fabric_name || 1107 if (fcf->fabric_name != best->fabric_name ||
1104 fcf->vfid != best->vfid || 1108 fcf->vfid != best->vfid ||
1105 fcf->fc_map != best->fc_map) { 1109 fcf->fc_map != best->fc_map) {
1106 LIBFCOE_FIP_DBG("Conflicting fabric, VFID, " 1110 LIBFCOE_FIP_DBG(fip, "Conflicting fabric, VFID, "
1107 "or FC-MAP\n"); 1111 "or FC-MAP\n");
1108 return; 1112 return;
1109 } 1113 }
@@ -1292,7 +1296,8 @@ int fcoe_ctlr_recv_flogi(struct fcoe_ctlr *fip, struct fc_lport *lport,
1292 return -EINVAL; 1296 return -EINVAL;
1293 } 1297 }
1294 fip->state = FIP_ST_NON_FIP; 1298 fip->state = FIP_ST_NON_FIP;
1295 LIBFCOE_FIP_DBG("received FLOGI LS_ACC using non-FIP mode\n"); 1299 LIBFCOE_FIP_DBG(fip,
1300 "received FLOGI LS_ACC using non-FIP mode\n");
1296 1301
1297 /* 1302 /*
1298 * FLOGI accepted. 1303 * FLOGI accepted.
@@ -1319,7 +1324,7 @@ int fcoe_ctlr_recv_flogi(struct fcoe_ctlr *fip, struct fc_lport *lport,
1319 memcpy(fip->dest_addr, sa, ETH_ALEN); 1324 memcpy(fip->dest_addr, sa, ETH_ALEN);
1320 fip->map_dest = 0; 1325 fip->map_dest = 0;
1321 if (fip->state == FIP_ST_NON_FIP) 1326 if (fip->state == FIP_ST_NON_FIP)
1322 LIBFCOE_FIP_DBG("received FLOGI REQ, " 1327 LIBFCOE_FIP_DBG(fip, "received FLOGI REQ, "
1323 "using non-FIP mode\n"); 1328 "using non-FIP mode\n");
1324 fip->state = FIP_ST_NON_FIP; 1329 fip->state = FIP_ST_NON_FIP;
1325 } 1330 }