linux/include/scsi
Neerav Parikh 31c37a6f21 [SCSI] fcoe: Fix write errors on NPIV ports
SCSI errors were generated while writing to LUNs
connected via NPIV ports.

Debugging this it was found that the FCoE packets
transmitted via the NPIV ports were not tagged with
correct user priority as negotiated with peer by DCB
agent. This resulted in FCoE traffic going with priority
zero(0) that did not have priority flow control (PFC)
enabled for it. The initiator after transferring data
to the target never saw any reply indicating the transfer
was complete. This resulted in error recovery (ABTS) and
SCSI command retries by the scsi-mid layer; eventually
resulting in I/O errors.

This patch fixes this issue by keeping the FCoE user
priority information in the fcoe_interface instance
that is common for both the physical port as well as
NPIV ports connected to that physical port; instead
of storing it in fcoe_port structure that has a per
port instance.

Signed-off-by: Neerav Parikh <Neerav.Parikh@intel.com>
Acked-by: Yi Zou <yi.zou@intel.com>
Acked-by: John Fastabend <john.r.fastabend@intel.com>
Tested-by: Marcus Dennis <marcusx.e.dennis@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
2012-10-07 11:49:34 +01:00
..
fc SCSI updates on 20120319 2012-03-22 12:55:29 -07:00
fc_encode.h [SCSI] libfc: Add support for FDMI 2012-02-19 08:08:58 -06:00
fc_frame.h [SCSI] fcoe: remove unused ptype field in fcoe_rcv_info 2011-07-28 12:08:55 +04:00
fcoe_sysfs.h [SCSI] libfcoe: Add fcoe_sysfs 2012-05-23 09:40:09 +01:00
iscsi_if.h [SCSI] qla4xxx: Removed packed attr from struct iscsi_chap_rec 2012-03-27 08:26:35 +01:00
iscsi_proto.h [SCSI] be2iscsi: Get Initiator Name for the iSCSI_Host 2012-04-25 09:29:35 +01:00
Kbuild [SCSI] Unexport scsi/scsi.h from headers_install 2010-05-02 11:45:12 -04:00
libfc.h [SCSI] libfc: update fcp and exch stats 2012-07-20 08:31:48 +01:00
libfcoe.h [SCSI] fcoe: Fix write errors on NPIV ports 2012-10-07 11:49:34 +01:00
libiscsi_tcp.h [SCSI] libiscsi_tcp: fix max_r2t manipulation 2012-02-19 08:09:00 -06:00
libiscsi.h [SCSI] libiscsi_tcp: fix max_r2t manipulation 2012-02-19 08:09:00 -06:00
libsas.h [SCSI] libsas: suspend / resume support 2012-08-24 13:10:23 +04:00
libsrp.h libsrp: fix compile failure 2009-12-30 12:23:27 -08:00
osd_attributes.h [SCSI] libosd: OSD2r05: Attribute definitions 2009-06-10 08:54:07 -05:00
osd_initiator.h treewide: Fix recieve/receive typos 2011-06-24 11:18:57 +02:00
osd_ore.h BUG: headers with BUG/BUG_ON etc. need linux/bug.h 2012-03-04 17:54:34 -05:00
osd_protocol.h [SCSI] libosd: Support for scatter gather write/read commands 2010-10-26 10:42:34 -05:00
osd_sec.h [SCSI] libosd: OSDv1 Headers 2009-03-12 12:58:06 -05:00
osd_sense.h [SCSI] libosd: osd_sense: OSD_CFO_PERMISSIONS 2009-12-04 12:01:44 -06:00
osd_types.h [SCSI] libosd: Support for scatter gather write/read commands 2010-10-26 10:42:34 -05:00
sas_ata.h [SCSI] libsas: suspend / resume support 2012-08-24 13:10:23 +04:00
sas.h isci: kill sci_phy_protocol and sci_request_protocol 2012-05-17 12:27:11 -07:00
scsi_bsg_fc.h [SCSI] fc-transport: Remove unnecessary include 2012-09-24 12:11:03 +04:00
scsi_bsg_iscsi.h [SCSI] iscsi class: add bsg support to iscsi class 2011-08-27 08:36:21 -06:00
scsi_cmnd.h [SCSI] Fix NULL dereferences in scsi_cmd_to_driver 2012-07-08 09:40:51 +01:00
scsi_dbg.h [SCSI] Fix device not ready printk 2007-10-12 14:51:56 -04:00
scsi_device.h [SCSI] Disable DIF on Hitachi Ultrastar 15K300 2012-09-24 12:11:00 +04:00
scsi_devinfo.h [SCSI] Disable DIF on Hitachi Ultrastar 15K300 2012-09-24 12:11:00 +04:00
scsi_dh.h [SCSI] scsi_dh: add scsi_dh_attached_handler_name 2012-07-20 08:58:42 +01:00
scsi_driver.h [SCSI] Handle disk devices which can not process medium access commands 2012-02-19 10:14:52 -06:00
scsi_eh.h [SCSI] scsi_eh_prep_cmnd should save scmd->underflow 2008-07-26 15:14:56 -04:00
scsi_host.h [SCSI] sd: Ensure we correctly disable devices with unknown protection type 2012-09-24 13:01:24 +04:00
scsi_ioctl.h [PATCH] don't mess with file in scsi_nonblockable_ioctl() 2008-10-21 07:47:28 -04:00
scsi_netlink_fc.h
scsi_netlink.h scsi_netlink: Remove dead and buggy code 2012-09-13 16:26:39 -04:00
scsi_tcq.h [SCSI] target: Convert TASK_ATTR to scsi_tcq.h definitions 2011-05-24 13:03:56 -04:00
scsi_tgt_if.h [SCSI] tgt: add I_T nexus support 2007-10-12 14:37:50 -04:00
scsi_tgt.h [SCSI] tgt: add I_T nexus support 2007-10-12 14:37:50 -04:00
scsi_transport_fc.h [SCSI] fc: add some more FC specific stats to fc_host 2012-07-20 08:31:47 +01:00
scsi_transport_iscsi.h [SCSI] iscsi_transport: Add support to display CHAP list and delete CHAP entry 2012-02-29 16:55:59 -06:00
scsi_transport_sas.h [SCSI] libsas: fix sas_find_local_phy(), take phy references 2012-02-29 13:01:06 -06:00
scsi_transport_spi.h [SCSI] aic79xx: make driver respect nvram for IU and QAS settings 2009-06-15 10:09:35 -05:00
scsi_transport_srp.h [SCSI] tgt: move tsk_mgmt_response callback to transport class 2007-10-12 14:38:01 -04:00
scsi_transport.h BUG: headers with BUG/BUG_ON etc. need linux/bug.h 2012-03-04 17:54:34 -05:00
scsi.h Merge branch 'master' [vanilla Linus master] into libata-dev.git/upstream 2012-07-25 15:58:48 -04:00
scsicam.h
sg.h sysctl extern cleanup: sg 2010-03-12 15:53:10 -08:00
srp.h IB/srp: Implement SRP_CRED_REQ and SRP_AER_REQ 2010-10-22 22:19:10 -07:00