projects/linux·commit bc06cffd

Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6

bc06cffd · Linus Torvalds <[email protected]> · 2007-07-15 16:51:54 -07:00

* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (166 commits)
  [SCSI] ibmvscsi: convert to use the data buffer accessors
  [SCSI] dc395x: convert to use the data buffer accessors
  [SCSI] ncr53c8xx: convert to use the data buffer accessors
  [SCSI] sym53c8xx: convert to use the data buffer accessors
  [SCSI] ppa: coding police and printk levels
  [SCSI] aic7xxx_old: remove redundant GFP_ATOMIC from kmalloc
  [SCSI] i2o: remove redundant GFP_ATOMIC from kmalloc from device.c
  [SCSI] remove the dead CYBERSTORMIII_SCSI option
  [SCSI] don't build scsi_dma_{map,unmap} for !HAS_DMA
  [SCSI] Clean up scsi_add_lun a bit
  [SCSI] 53c700: Remove printk, which triggers because of low scsi clock on SNI RMs
  [SCSI] sni_53c710: Cleanup
  [SCSI] qla4xxx: Fix underrun/overrun conditions
  [SCSI] megaraid_mbox: use mutex instead of semaphore
  [SCSI] aacraid: add 51245, 51645 and 52245 adapters to documentation.
  [SCSI] qla2xxx: update version to 8.02.00-k1.
  [SCSI] qla2xxx: add support for NPIV
  [SCSI] stex: use resid for xfer len information
  [SCSI] Add Brownie 1200U3P to blacklist
  [SCSI] scsi.c: convert to use the data buffer accessors
  ...
Commit
bc06cffdec85d487c77109dffcd2f285bdc502d3
Parents
d3502d7f · 9413d7b8

Merge commit. Changes below are compared with the first parent: d3502d7f.

Changes

190 files changed · +21727 −26339

FileStatusAddDelContent
Documentation/scsi/aacraid.txtmodified+3−0View file
Documentation/scsi/scsi_fc_transport.txtadded+450−0View file
drivers/block/cciss_scsi.cmodified+22−53View file
drivers/ieee1394/sbp2.cmodified+4−71View file
drivers/infiniband/ulp/iser/iscsi_iser.cmodified+26−14View file
drivers/infiniband/ulp/iser/iscsi_iser.hmodified+2−2View file
drivers/infiniband/ulp/iser/iser_initiator.cmodified+4−10View file
drivers/infiniband/ulp/iser/iser_verbs.cmodified+2−2View file
drivers/infiniband/ulp/srp/ib_srp.cmodified+20−43View file
drivers/infiniband/ulp/srp/ib_srp.hmodified+0−5View file
drivers/message/fusion/linux_compat.hdeleted+0−9View before deletion
drivers/message/fusion/lsi/mpi.hmodified+4−3View file
drivers/message/fusion/lsi/mpi_cnfg.hmodified+44−17View file
drivers/message/fusion/lsi/mpi_history.txtmodified+54−12View file
drivers/message/fusion/lsi/mpi_inb.hdeleted+0−221View before deletion
drivers/message/fusion/lsi/mpi_init.hmodified+8−2View file
drivers/message/fusion/lsi/mpi_ioc.hmodified+25−15View file
drivers/message/fusion/lsi/mpi_raid.hmodified+9−2View file
drivers/message/fusion/mptbase.cmodified+32−8View file
drivers/message/fusion/mptbase.hmodified+3−3View file
drivers/message/fusion/mptctl.cmodified+1−1View file
drivers/message/fusion/mptctl.hmodified+1−1View file
drivers/message/fusion/mptfc.cmodified+1−2View file
drivers/message/fusion/mptlan.cmodified+1−1View file
drivers/message/fusion/mptlan.hmodified+1−1View file
drivers/message/fusion/mptsas.cmodified+1−1View file
drivers/message/fusion/mptscsih.cmodified+141−123View file
drivers/message/fusion/mptscsih.hmodified+1−1View file
drivers/message/fusion/mptspi.cmodified+1−2View file
drivers/message/i2o/device.cmodified+1−1View file
drivers/message/i2o/i2o_scsi.cmodified+7−17View file
drivers/s390/scsi/zfcp_aux.cmodified+3−17View file
drivers/s390/scsi/zfcp_erp.cmodified+7−0View file
drivers/scsi/3w-9xxx.cmodified+37−98View file
drivers/scsi/3w-xxxx.cmodified+23−81View file
drivers/scsi/53c700.cmodified+25−52View file
drivers/scsi/53c700.hmodified+5−0View file
drivers/scsi/53c7xx.cdeleted+0−6102View before deletion
drivers/scsi/53c7xx.hdeleted+0−1608View before deletion
drivers/scsi/53c7xx.scrdeleted+0−1591View before deletion
drivers/scsi/53c7xx_d.h_shippeddeleted+0−2874View before deletion
drivers/scsi/53c7xx_u.h_shippeddeleted+0−102View before deletion
drivers/scsi/BusLogic.cmodified+21−30View file
drivers/scsi/Kconfigmodified+32−24View file
drivers/scsi/Makefilemodified+8−15View file
drivers/scsi/NCR5380.cmodified+8−6View file
drivers/scsi/NCR5380.hmodified+3−3View file
drivers/scsi/NCR53c406a.cmodified+18−27View file
drivers/scsi/a100u2w.cmodified+636−603View file
drivers/scsi/a100u2w.hmodified+126−171View file
drivers/scsi/a4000t.cadded+143−0View file
drivers/scsi/aacraid/aachba.cmodified+154−168View file
drivers/scsi/aacraid/aacraid.hmodified+33−7View file
drivers/scsi/aacraid/commsup.cmodified+193−17View file
drivers/scsi/aacraid/linit.cmodified+92−12View file
drivers/scsi/aacraid/rx.cmodified+18−15View file
drivers/scsi/advansys.cmodified+8−93View file
drivers/scsi/advansys.hdeleted+0−36View before deletion
drivers/scsi/aha152x.cmodified+18−32View file
drivers/scsi/aha1740.cmodified+15−33View file
drivers/scsi/aic7xxx/aic79xx_osm.cmodified+13−38View file
drivers/scsi/aic7xxx/aic79xx_osm.hmodified+2−2View file
drivers/scsi/aic7xxx/aic7xxx_osm.cmodified+10−49View file
drivers/scsi/aic7xxx/aic7xxx_osm.hmodified+2−2View file
drivers/scsi/aic7xxx_old.cmodified+15−42View file
drivers/scsi/amiga7xx.cdeleted+0−138View before deletion
drivers/scsi/amiga7xx.hdeleted+0−23View before deletion
drivers/scsi/arcmsr/arcmsr.hmodified+2−2View file
drivers/scsi/arcmsr/arcmsr_hba.cmodified+454−105View file
drivers/scsi/bvme6000.cdeleted+0−76View before deletion
drivers/scsi/bvme6000.hdeleted+0−24View before deletion
drivers/scsi/bvme6000_scsi.cadded+135−0View file
drivers/scsi/dc395x.cmodified+60−103View file
drivers/scsi/dpt_i2o.cmodified+13−20View file
drivers/scsi/eata.cmodified+14−34View file
drivers/scsi/esp_scsi.cmodified+13−17View file
drivers/scsi/esp_scsi.hmodified+0−2View file
drivers/scsi/fdomain.cmodified+44−26View file
drivers/scsi/gdth.cmodified+2−2View file
drivers/scsi/hptiop.cmodified+23−53View file
drivers/scsi/ibmmca.cmodified+572−695View file
drivers/scsi/ibmmca.hdeleted+0−21View before deletion
drivers/scsi/ibmvscsi/ibmvscsi.cmodified+248−215View file
drivers/scsi/ibmvscsi/ibmvscsi.hmodified+2−0View file
drivers/scsi/ibmvscsi/rpa_vscsi.cmodified+9−11View file
drivers/scsi/initio.cmodified+1824−1995View file
drivers/scsi/initio.hmodified+130−183View file
drivers/scsi/ipr.cmodified+40−104View file
drivers/scsi/ips.cmodified+117−284View file
drivers/scsi/ips.hmodified+2−42View file
drivers/scsi/iscsi_tcp.cmodified+346−260View file
drivers/scsi/iscsi_tcp.hmodified+6−3View file
drivers/scsi/jazz_esp.cmodified+2−2View file
drivers/scsi/libiscsi.cmodified+377−273View file
drivers/scsi/libsas/sas_scsi_host.cmodified+5−5View file
drivers/scsi/lpfc/Makefilemodified+3−2View file
drivers/scsi/lpfc/lpfc.hmodified+270−88View file
drivers/scsi/lpfc/lpfc_attr.cmodified+547−213View file
drivers/scsi/lpfc/lpfc_crtn.hmodified+126−56View file
drivers/scsi/lpfc/lpfc_ct.cmodified+675−296View file
drivers/scsi/lpfc/lpfc_debugfs.cadded+508−0View file
drivers/scsi/lpfc/lpfc_debugfs.hadded+50−0View file
drivers/scsi/lpfc/lpfc_disc.hmodified+10−5View file
drivers/scsi/lpfc/lpfc_els.cmodified+2278−1103View file
drivers/scsi/lpfc/lpfc_hbadisc.cmodified+1401−861View file
drivers/scsi/lpfc/lpfc_hw.hmodified+489−69View file
drivers/scsi/lpfc/lpfc_init.cmodified+622−326View file
drivers/scsi/lpfc/lpfc_logmsg.hmodified+1−0View file
drivers/scsi/lpfc/lpfc_mbox.cmodified+260−46View file
drivers/scsi/lpfc/lpfc_mem.cmodified+97−4View file
drivers/scsi/lpfc/lpfc_nportdisc.cmodified+729−596View file
drivers/scsi/lpfc/lpfc_scsi.cmodified+342−215View file
drivers/scsi/lpfc/lpfc_scsi.hmodified+1−2View file
drivers/scsi/lpfc/lpfc_sli.cmodified+1369−678View file
drivers/scsi/lpfc/lpfc_sli.hmodified+40−7View file
drivers/scsi/lpfc/lpfc_version.hmodified+1−1View file
drivers/scsi/lpfc/lpfc_vport.cadded+523−0View file
drivers/scsi/lpfc/lpfc_vport.hadded+113−0View file
drivers/scsi/mac53c94.cmodified+21−41View file
drivers/scsi/megaraid.cmodified+30−111View file
drivers/scsi/megaraid/mega_common.hmodified+1−0View file
drivers/scsi/megaraid/megaraid_mbox.cmodified+47−124View file
drivers/scsi/megaraid/megaraid_mbox.hmodified+2−2View file
drivers/scsi/megaraid/megaraid_sas.cmodified+17−95View file
drivers/scsi/mesh.cmodified+19−27View file
drivers/scsi/mvme16x.cdeleted+0−78View before deletion
drivers/scsi/mvme16x.hdeleted+0−24View before deletion
drivers/scsi/mvme16x_scsi.cadded+158−0View file
drivers/scsi/ncr53c8xx.cmodified+11−59View file
drivers/scsi/nsp32.cmodified+37−157View file
drivers/scsi/pcmcia/sym53c500_cs.cmodified+19−23View file
drivers/scsi/ppa.cmodified+27−30View file
drivers/scsi/qla2xxx/Makefilemodified+1−1View file
drivers/scsi/qla2xxx/qla_attr.cmodified+164−0View file
drivers/scsi/qla2xxx/qla_dbg.cmodified+2−2View file
drivers/scsi/qla2xxx/qla_dbg.hmodified+9−1View file
drivers/scsi/qla2xxx/qla_def.hmodified+83−0View file
drivers/scsi/qla2xxx/qla_fw.hmodified+79−12View file
drivers/scsi/qla2xxx/qla_gbl.hmodified+38−1View file
drivers/scsi/qla2xxx/qla_gs.cmodified+3−0View file
drivers/scsi/qla2xxx/qla_init.cmodified+146−20View file
drivers/scsi/qla2xxx/qla_iocb.cmodified+93−149View file
drivers/scsi/qla2xxx/qla_isr.cmodified+60−25View file
drivers/scsi/qla2xxx/qla_mbx.cmodified+383−13View file
drivers/scsi/qla2xxx/qla_mid.cadded+497−0View file
drivers/scsi/qla2xxx/qla_os.cmodified+134−103View file
drivers/scsi/qla2xxx/qla_version.hmodified+3−3View file
drivers/scsi/qla4xxx/ql4_dbg.cmodified+3−171View file
drivers/scsi/qla4xxx/ql4_def.hmodified+39−39View file
drivers/scsi/qla4xxx/ql4_fw.hmodified+177−249View file
drivers/scsi/qla4xxx/ql4_glbl.hmodified+6−1View file
drivers/scsi/qla4xxx/ql4_init.cmodified+69−36View file
drivers/scsi/qla4xxx/ql4_iocb.cmodified+38−63View file
drivers/scsi/qla4xxx/ql4_isr.cmodified+69−45View file
drivers/scsi/qla4xxx/ql4_mbx.cmodified+103−171View file
drivers/scsi/qla4xxx/ql4_nvram.cmodified+3−0View file
drivers/scsi/qla4xxx/ql4_os.cmodified+67−29View file
drivers/scsi/qla4xxx/ql4_version.hmodified+2−1View file
drivers/scsi/qlogicfas408.cmodified+11−19View file
drivers/scsi/scsi.cmodified+1−47View file
drivers/scsi/scsi_debug.cmodified+1−1View file
drivers/scsi/scsi_devinfo.cmodified+1−0View file
drivers/scsi/scsi_error.cmodified+3−23View file
drivers/scsi/scsi_lib_dma.cadded+50−0View file
drivers/scsi/scsi_scan.cmodified+28−39View file
drivers/scsi/scsi_sysfs.cmodified+3−22View file
drivers/scsi/scsi_transport_fc.cmodified+803−28View file
drivers/scsi/scsi_transport_iscsi.cmodified+112−26View file
drivers/scsi/sd.cmodified+1−1View file
drivers/scsi/sg.cmodified+1−1View file
drivers/scsi/sni_53c710.cmodified+2−8View file
drivers/scsi/sr.cmodified+5−1View file
drivers/scsi/stex.cmodified+37−74View file
drivers/scsi/sun_esp.cmodified+1−1View file
drivers/scsi/sym53c416.cmodified+18−26View file
drivers/scsi/sym53c8xx_2/sym_glue.cmodified+11−72View file
drivers/scsi/sym53c8xx_2/sym_glue.hmodified+1−1View file
drivers/scsi/tmscsim.cmodified+33−52View file
drivers/scsi/tmscsim.hmodified+1−9View file
drivers/scsi/u14-34f.cmodified+27−33View file
drivers/scsi/ultrastor.cmodified+9−10View file
drivers/scsi/wd7000.cmodified+11−9View file
drivers/scsi/zorro7xx.cadded+180−0View file
include/scsi/iscsi_if.hmodified+34−0View file
include/scsi/libiscsi.hmodified+41−26View file
include/scsi/scsi_cmnd.hmodified+20−0View file
include/scsi/scsi_device.hmodified+1−1View file
include/scsi/scsi_host.hmodified+4−6View file
include/scsi/scsi_transport_fc.hmodified+173−13View file
include/scsi/scsi_transport_iscsi.hmodified+11−5View file

Only the first 600 diff lines are shown. Download the complete patch.

Documentation/scsi/aacraid.txt

View file
diff --git a/Documentation/scsi/aacraid.txt b/Documentation/scsi/aacraid.txt
index ce3cb42..cc12b55 100644
--- a/Documentation/scsi/aacraid.txt
+++ b/Documentation/scsi/aacraid.txt
@@ -50,6 +50,9 @@ Supported Cards/Chipsets
9005:0285:9005:02be Adaptec 31605 (Marauder160)
9005:0285:9005:02c3 Adaptec 51205 (Voodoo120)
9005:0285:9005:02c4 Adaptec 51605 (Voodoo160)
+ 9005:0285:9005:02ce Adaptec 51245 (Voodoo124)
+ 9005:0285:9005:02cf Adaptec 51645 (Voodoo164)
+ 9005:0285:9005:02d0 Adaptec 52445 (Voodoo244)
1011:0046:9005:0364 Adaptec 5400S (Mustang)
9005:0287:9005:0800 Adaptec Themisto (Jupiter)
9005:0200:9005:0200 Adaptec Themisto (Jupiter)

Documentation/scsi/scsi_fc_transport.txt

View file
diff --git a/Documentation/scsi/scsi_fc_transport.txt b/Documentation/scsi/scsi_fc_transport.txt
new file mode 100644
index 0000000..d403e46
--- /dev/null
+++ b/Documentation/scsi/scsi_fc_transport.txt
@@ -0,0 +1,450 @@
+ SCSI FC Tansport
+ =============================================
+
+Date: 4/12/2007
+Kernel Revisions for features:
+ rports : <<TBS>>
+ vports : 2.6.22 (? TBD)
+
+
+Introduction
+============
+This file documents the features and components of the SCSI FC Transport.
+It also provides documents the API between the transport and FC LLDDs.
+The FC transport can be found at:
+ drivers/scsi/scsi_transport_fc.c
+ include/scsi/scsi_transport_fc.h
+ include/scsi/scsi_netlink_fc.h
+
+This file is found at Documentation/scsi/scsi_fc_transport.txt
+
+
+FC Remote Ports (rports)
+========================================================================
+<< To Be Supplied >>
+
+
+FC Virtual Ports (vports)
+========================================================================
+
+Overview:
+-------------------------------
+
+ New FC standards have defined mechanisms which allows for a single physical
+ port to appear on as multiple communication ports. Using the N_Port Id
+ Virtualization (NPIV) mechanism, a point-to-point connection to a Fabric
+ can be assigned more than 1 N_Port_ID. Each N_Port_ID appears as a
+ separate port to other endpoints on the fabric, even though it shares one
+ physical link to the switch for communication. Each N_Port_ID can have a
+ unique view of the fabric based on fabric zoning and array lun-masking
+ (just like a normal non-NPIV adapter). Using the Virtual Fabric (VF)
+ mechanism, adding a fabric header to each frame allows the port to
+ interact with the Fabric Port to join multiple fabrics. The port will
+ obtain an N_Port_ID on each fabric it joins. Each fabric will have its
+ own unique view of endpoints and configuration parameters. NPIV may be
+ used together with VF so that the port can obtain multiple N_Port_IDs
+ on each virtual fabric.
+
+ The FC transport is now recognizing a new object - a vport. A vport is
+ an entity that has a world-wide unique World Wide Port Name (wwpn) and
+ World Wide Node Name (wwnn). The transport also allows for the FC4's to
+ be specified for the vport, with FCP_Initiator being the primary role
+ expected. Once instantiated by one of the above methods, it will have a
+ distinct N_Port_ID and view of fabric endpoints and storage entities.
+ The fc_host associated with the physical adapter will export the ability
+ to create vports. The transport will create the vport object within the
+ Linux device tree, and instruct the fc_host's driver to instantiate the
+ virtual port. Typically, the driver will create a new scsi_host instance
+ on the vport, resulting in a unique <H,C,T,L> namespace for the vport.
+ Thus, whether a FC port is based on a physical port or on a virtual port,
+ each will appear as a unique scsi_host with its own target and lun space.
+
+ Note: At this time, the transport is written to create only NPIV-based
+ vports. However, consideration was given to VF-based vports and it
+ should be a minor change to add support if needed. The remaining
+ discussion will concentrate on NPIV.
+
+ Note: World Wide Name assignment (and uniqueness guarantees) are left
+ up to an administrative entity controling the vport. For example,
+ if vports are to be associated with virtual machines, a XEN mgmt
+ utility would be responsible for creating wwpn/wwnn's for the vport,
+ using it's own naming authority and OUI. (Note: it already does this
+ for virtual MAC addresses).
+
+
+Device Trees and Vport Objects:
+-------------------------------
+
+ Today, the device tree typically contains the scsi_host object,
+ with rports and scsi target objects underneath it. Currently the FC
+ transport creates the vport object and places it under the scsi_host
+ object corresponding to the physical adapter. The LLDD will allocate
+ a new scsi_host for the vport and link it's object under the vport.
+ The remainder of the tree under the vports scsi_host is the same
+ as the non-NPIV case. The transport is written currently to easily
+ allow the parent of the vport to be something other than the scsi_host.
+ This could be used in the future to link the object onto a vm-specific
+ device tree. If the vport's parent is not the physical port's scsi_host,
+ a symbolic link to the vport object will be placed in the physical
+ port's scsi_host.
+
+ Here's what to expect in the device tree :
+ The typical Physical Port's Scsi_Host:
+ /sys/devices/.../host17/
+ and it has the typical decendent tree:
+ /sys/devices/.../host17/rport-17:0-0/target17:0:0/17:0:0:0:
+ and then the vport is created on the Physical Port:
+ /sys/devices/.../host17/vport-17:0-0
+ and the vport's Scsi_Host is then created:
+ /sys/devices/.../host17/vport-17:0-0/host18
+ and then the rest of the tree progresses, such as:
+ /sys/devices/.../host17/vport-17:0-0/host18/rport-18:0-0/target18:0:0/18:0:0:0:
+
+ Here's what to expect in the sysfs tree :
+ scsi_hosts:
+ /sys/class/scsi_host/host17 physical port's scsi_host
+ /sys/class/scsi_host/host18 vport's scsi_host
+ fc_hosts:
+ /sys/class/fc_host/host17 physical port's fc_host
+ /sys/class/fc_host/host18 vport's fc_host
+ fc_vports:
+ /sys/class/fc_vports/vport-17:0-0 the vport's fc_vport
+ fc_rports:
+ /sys/class/fc_remote_ports/rport-17:0-0 rport on the physical port
+ /sys/class/fc_remote_ports/rport-18:0-0 rport on the vport
+
+
+Vport Attributes:
+-------------------------------
+
+ The new fc_vport class object has the following attributes
+
+ node_name: Read_Only
+ The WWNN of the vport
+
+ port_name: Read_Only
+ The WWPN of the vport
+
+ roles: Read_Only
+ Indicates the FC4 roles enabled on the vport.
+
+ symbolic_name: Read_Write
+ A string, appended to the driver's symbolic port name string, which
+ is registered with the switch to identify the vport. For example,
+ a hypervisor could set this string to "Xen Domain 2 VM 5 Vport 2",
+ and this set of identifiers can be seen on switch management screens
+ to identify the port.
+
+ vport_delete: Write_Only
+ When written with a "1", will tear down the vport.
+
+ vport_disable: Write_Only
+ When written with a "1", will transition the vport to a disabled.
+ state. The vport will still be instantiated with the Linux kernel,
+ but it will not be active on the FC link.
+ When written with a "0", will enable the vport.
+
+ vport_last_state: Read_Only
+ Indicates the previous state of the vport. See the section below on
+ "Vport States".
+
+ vport_state: Read_Only
+ Indicates the state of the vport. See the section below on
+ "Vport States".
+
+ vport_type: Read_Only
+ Reflects the FC mechanism used to create the virtual port.
+ Only NPIV is supported currently.
+
+
+ For the fc_host class object, the following attributes are added for vports:
+
+ max_npiv_vports: Read_Only
+ Indicates the maximum number of NPIV-based vports that the
+ driver/adapter can support on the fc_host.
+
+ npiv_vports_inuse: Read_Only
+ Indicates how many NPIV-based vports have been instantiated on the
+ fc_host.
+
+ vport_create: Write_Only
+ A "simple" create interface to instantiate a vport on an fc_host.
+ A "<WWPN>:<WWNN>" string is written to the attribute. The transport
+ then instantiates the vport object and calls the LLDD to create the
+ vport with the role of FCP_Initiator. Each WWN is specified as 16
+ hex characters and may *not* contain any prefixes (e.g. 0x, x, etc).
+
+ vport_delete: Write_Only
+ A "simple" delete interface to teardown a vport. A "<WWPN>:<WWNN>"
+ string is written to the attribute. The transport will locate the
+ vport on the fc_host with the same WWNs and tear it down. Each WWN
+ is specified as 16 hex characters and may *not* contain any prefixes
+ (e.g. 0x, x, etc).
+
+
+Vport States:
+-------------------------------
+
+ Vport instantiation consists of two parts:
+ - Creation with the kernel and LLDD. This means all transport and
+ driver data structures are built up, and device objects created.
+ This is equivalent to a driver "attach" on an adapter, which is
+ independent of the adapter's link state.
+ - Instantiation of the vport on the FC link via ELS traffic, etc.
+ This is equivalent to a "link up" and successfull link initialization.
+ Futher information can be found in the interfaces section below for
+ Vport Creation.
+
+ Once a vport has been instantiated with the kernel/LLDD, a vport state
+ can be reported via the sysfs attribute. The following states exist:
+
+ FC_VPORT_UNKNOWN - Unknown
+ An temporary state, typically set only while the vport is being
+ instantiated with the kernel and LLDD.
+
+ FC_VPORT_ACTIVE - Active
+ The vport has been successfully been created on the FC link.
+ It is fully functional.
+
+ FC_VPORT_DISABLED - Disabled
+ The vport instantiated, but "disabled". The vport is not instantiated
+ on the FC link. This is equivalent to a physical port with the
+ link "down".
+
+ FC_VPORT_LINKDOWN - Linkdown
+ The vport is not operational as the physical link is not operational.
+
+ FC_VPORT_INITIALIZING - Initializing
+ The vport is in the process of instantiating on the FC link.
+ The LLDD will set this state just prior to starting the ELS traffic
+ to create the vport. This state will persist until the vport is
+ successfully created (state becomes FC_VPORT_ACTIVE) or it fails
+ (state is one of the values below). As this state is transitory,
+ it will not be preserved in the "vport_last_state".
+
+ FC_VPORT_NO_FABRIC_SUPP - No Fabric Support
+ The vport is not operational. One of the following conditions were
+ encountered:
+ - The FC topology is not Point-to-Point
+ - The FC port is not connected to an F_Port
+ - The F_Port has indicated that NPIV is not supported.
+
+ FC_VPORT_NO_FABRIC_RSCS - No Fabric Resources
+ The vport is not operational. The Fabric failed FDISC with a status
+ indicating that it does not have sufficient resources to complete
+ the operation.
+
+ FC_VPORT_FABRIC_LOGOUT - Fabric Logout
+ The vport is not operational. The Fabric has LOGO'd the N_Port_ID
+ associated with the vport.
+
+ FC_VPORT_FABRIC_REJ_WWN - Fabric Rejected WWN
+ The vport is not operational. The Fabric failed FDISC with a status
+ indicating that the WWN's are not valid.
+
+ FC_VPORT_FAILED - VPort Failed
+ The vport is not operational. This is a catchall for all other
+ error conditions.
+
+
+ The following state table indicates the different state transitions:
+
+ State Event New State
+ --------------------------------------------------------------------
+ n/a Initialization Unknown
+ Unknown: Link Down Linkdown
+ Link Up & Loop No Fabric Support
+ Link Up & no Fabric No Fabric Support
+ Link Up & FLOGI response No Fabric Support
+ indicates no NPIV support
+ Link Up & FDISC being sent Initializing
+ Disable request Disable
+ Linkdown: Link Up Unknown
+ Initializing: FDISC ACC Active
+ FDISC LS_RJT w/ no resources No Fabric Resources
+ FDISC LS_RJT w/ invalid Fabric Rejected WWN
+ pname or invalid nport_id
+ FDISC LS_RJT failed for Vport Failed
+ other reasons
+ Link Down Linkdown
+ Disable request Disable
+ Disable: Enable request Unknown
+ Active: LOGO received from fabric Fabric Logout
+ Link Down Linkdown
+ Disable request Disable
+ Fabric Logout: Link still up Unknown
+
+ The following 4 error states all have the same transitions:
+ No Fabric Support:
+ No Fabric Resources:
+ Fabric Rejected WWN:
+ Vport Failed:
+ Disable request Disable
+ Link goes down Linkdown
+
+
+Transport <-> LLDD Interfaces :
+-------------------------------
+
+Vport support by LLDD:
+
+ The LLDD indicates support for vports by supplying a vport_create()
+ function in the transport template. The presense of this function will
+ cause the creation of the new attributes on the fc_host. As part of
+ the physical port completing its initialization relative to the
+ transport, it should set the max_npiv_vports attribute to indicate the
+ maximum number of vports the driver and/or adapter supports.
+
+
+Vport Creation:
+
+ The LLDD vport_create() syntax is:
+
+ int vport_create(struct fc_vport *vport, bool disable)
+
+ where:
+ vport: Is the newly allocated vport object
+ disable: If "true", the vport is to be created in a disabled stated.
+ If "false", the vport is to be enabled upon creation.
+
+ When a request is made to create a new vport (via sgio/netlink, or the
+ vport_create fc_host attribute), the transport will validate that the LLDD
+ can support another vport (e.g. max_npiv_vports > npiv_vports_inuse).
+ If not, the create request will be failed. If space remains, the transport
+ will increment the vport count, create the vport object, and then call the
+ LLDD's vport_create() function with the newly allocated vport object.
+
+ As mentioned above, vport creation is divided into two parts:
+ - Creation with the kernel and LLDD. This means all transport and
+ driver data structures are built up, and device objects created.
+ This is equivalent to a driver "attach" on an adapter, which is
+ independent of the adapter's link state.
+ - Instantiation of the vport on the FC link via ELS traffic, etc.
+ This is equivalent to a "link up" and successfull link initialization.
+
+ The LLDD's vport_create() function will not synchronously wait for both
+ parts to be fully completed before returning. It must validate that the
+ infrastructure exists to support NPIV, and complete the first part of
+ vport creation (data structure build up) before returning. We do not
+ hinge vport_create() on the link-side operation mainly because:
+ - The link may be down. It is not a failure if it is. It simply
+ means the vport is in an inoperable state until the link comes up.
+ This is consistent with the link bouncing post vport creation.
+ - The vport may be created in a disabled state.
+ - This is consistent with a model where: the vport equates to a
+ FC adapter. The vport_create is synonymous with driver attachment
+ to the adapter, which is independent of link state.
+
+ Note: special error codes have been defined to delineate infrastructure
+ failure cases for quicker resolution.
+
+ The expected behavior for the LLDD's vport_create() function is:
+ - Validate Infrastructure:
+ - If the driver or adapter cannot support another vport, whether
+ due to improper firmware, (a lie about) max_npiv, or a lack of
+ some other resource - return VPCERR_UNSUPPORTED.
+ - If the driver validates the WWN's against those already active on
+ the adapter and detects an overlap - return VPCERR_BAD_WWN.
+ - If the driver detects the topology is loop, non-fabric, or the
+ FLOGI did not support NPIV - return VPCERR_NO_FABRIC_SUPP.
+ - Allocate data structures. If errors are encountered, such as out
+ of memory conditions, return the respective negative Exxx error code.
+ - If the role is FCP Initiator, the LLDD is to :
+ - Call scsi_host_alloc() to allocate a scsi_host for the vport.
+ - Call scsi_add_host(new_shost, &vport->dev) to start the scsi_host
+ and bind it as a child of the vport device.
+ - Initializes the fc_host attribute values.
+ - Kick of further vport state transitions based on the disable flag and
+ link state - and return success (zero).
+
+ LLDD Implementers Notes:
+ - It is suggested that there be a different fc_function_templates for
+ the physical port and the virtual port. The physical port's template
+ would have the vport_create, vport_delete, and vport_disable functions,
+ while the vports would not.
+ - It is suggested that there be different scsi_host_templates
+ for the physical port and virtual port. Likely, there are driver
+ attributes, embedded into the scsi_host_template, that are applicable
+ for the physical port only (link speed, topology setting, etc). This
+ ensures that the attributes are applicable to the respective scsi_host.
+
+
+Vport Disable/Enable:
+
+ The LLDD vport_disable() syntax is:
+
+ int vport_disable(struct fc_vport *vport, bool disable)
+
+ where:
+ vport: Is vport to to be enabled or disabled
+ disable: If "true", the vport is to be disabled.
+ If "false", the vport is to be enabled.
+
+ When a request is made to change the disabled state on a vport, the
+ transport will validate the request against the existing vport state.
+ If the request is to disable and the vport is already disabled, the
+ request will fail. Similarly, if the request is to enable, and the
+ vport is not in a disabled state, the request will fail. If the request
+ is valid for the vport state, the transport will call the LLDD to
+ change the vport's state.
+
+ Within the LLDD, if a vport is disabled, it remains instantiated with
+ the kernel and LLDD, but it is not active or visible on the FC link in
+ any way. (see Vport Creation and the 2 part instantiation discussion).
+ The vport will remain in this state until it is deleted or re-enabled.
+ When enabling a vport, the LLDD reinstantiates the vport on the FC
+ link - essentially restarting the LLDD statemachine (see Vport States
+ above).
+
+
+Vport Deletion:
+
+ The LLDD vport_delete() syntax is:
+
+ int vport_delete(struct fc_vport *vport)
+
+ where:
+ vport: Is vport to delete
+
+ When a request is made to delete a vport (via sgio/netlink, or via the
+ fc_host or fc_vport vport_delete attributes), the transport will call
+ the LLDD to terminate the vport on the FC link, and teardown all other
+ datastructures and references. If the LLDD completes successfully,
+ the transport will teardown the vport objects and complete the vport
+ removal. If the LLDD delete request fails, the vport object will remain,
+ but will be in an indeterminate state.
+
+ Within the LLDD, the normal code paths for a scsi_host teardown should
+ be followed. E.g. If the vport has a FCP Initiator role, the LLDD
+ will call fc_remove_host() for the vports scsi_host, followed by
+ scsi_remove_host() and scsi_host_put() for the vports scsi_host.
+
+
+Other:
+ fc_host port_type attribute:
+ There is a new fc_host port_type value - FC_PORTTYPE_NPIV. This value
+ must be set on all vport-based fc_hosts. Normally, on a physical port,
+ the port_type attribute would be set to NPORT, NLPORT, etc based on the
+ topology type and existence of the fabric. As this is not applicable to
+ a vport, it makes more sense to report the FC mechanism used to create
+ the vport.
+
+ Driver unload:
+ FC drivers are required to call fc_remove_host() prior to calling
+ scsi_remove_host(). This allows the fc_host to tear down all remote
+ ports prior the scsi_host being torn down. The fc_remove_host() call
+ was updated to remove all vports for the fc_host as well.
+
+
+Credits
+=======
+The following people have contributed to this document:
+
+
+
+
+
+
+James Smart
+

drivers/block/cciss_scsi.c

View file
diff --git a/drivers/block/cciss_scsi.c b/drivers/block/cciss_scsi.c
index 90961a8..4aca7dd 100644
--- a/drivers/block/cciss_scsi.c
+++ b/drivers/block/cciss_scsi.c
@@ -555,7 +555,6 @@ complete_scsi_command( CommandList_struct *cp, int timeout, __u32 tag)
{
struct scsi_cmnd *cmd;
ctlr_info_t *ctlr;
- u64bit addr64;
ErrorInfo_struct *ei;
ei = cp->err_info;
@@ -569,20 +568,7 @@ complete_scsi_command( CommandList_struct *cp, int timeout, __u32 tag)
cmd = (struct scsi_cmnd *) cp->scsi_cmd;
ctlr = hba[cp->ctlr];
- /* undo the DMA mappings */
-
- if (cmd->use_sg) {
- pci_unmap_sg(ctlr->pdev,
- cmd->request_buffer, cmd->use_sg,
- cmd->sc_data_direction);
- }
- else if (cmd->request_bufflen) {
- addr64.val32.lower = cp->SG[0].Addr.lower;
- addr64.val32.upper = cp->SG[0].Addr.upper;
- pci_unmap_single(ctlr->pdev, (dma_addr_t) addr64.val,
- cmd->request_bufflen,
- cmd->sc_data_direction);
- }
+ scsi_dma_unmap(cmd);
cmd->result = (DID_OK << 16); /* host byte */
cmd->result |= (COMMAND_COMPLETE << 8); /* msg byte */
@@ -597,7 +583,7 @@ complete_scsi_command( CommandList_struct *cp, int timeout, __u32 tag)
ei->SenseLen > SCSI_SENSE_BUFFERSIZE ?
SCSI_SENSE_BUFFERSIZE :
ei->SenseLen);
- cmd->resid = ei->ResidualCnt;
+ scsi_set_resid(cmd, ei->ResidualCnt);
if(ei->CommandStatus != 0)
{ /* an error has occurred */
@@ -1204,46 +1190,29 @@ cciss_scatter_gather(struct pci_dev *pdev,
CommandList_struct *cp,
struct scsi_cmnd *cmd)
{
- unsigned int use_sg, nsegs=0, len;
- struct scatterlist *scatter = (struct scatterlist *) cmd->request_buffer;
+ unsigned int len;
+ struct scatterlist *sg;
__u64 addr64;
-
- /* is it just one virtual address? */
- if (!cmd->use_sg) {
- if (cmd->request_bufflen) { /* anything to xfer? */
-
- addr64 = (__u64) pci_map_single(pdev,
- cmd->request_buffer,
- cmd->request_bufflen,
- cmd->sc_data_direction);
-
- cp->SG[0].Addr.lower =
- (__u32) (addr64 & (__u64) 0x00000000FFFFFFFF);
- cp->SG[0].Addr.upper =
- (__u32) ((addr64 >> 32) & (__u64) 0x00000000FFFFFFFF);
- cp->SG[0].Len = cmd->request_bufflen;
- nsegs=1;
- }
- } /* else, must be a list of virtual addresses.... */
- else if (cmd->use_sg <= MAXSGENTRIES) { /* not too many addrs? */
-
- use_sg = pci_map_sg(pdev, cmd->request_buffer, cmd->use_sg,
- cmd->sc_data_direction);
-
- for (nsegs=0; nsegs < use_sg; nsegs++) {
- addr64 = (__u64) sg_dma_address(&scatter[nsegs]);
- len = sg_dma_len(&scatter[nsegs]);
- cp->SG[nsegs].Addr.lower =
- (__u32) (addr64 & (__u64) 0x00000000FFFFFFFF);
- cp->SG[nsegs].Addr.upper =
- (__u32) ((addr64 >> 32) & (__u64) 0x00000000FFFFFFFF);
- cp->SG[nsegs].Len = len;
- cp->SG[nsegs].Ext = 0; // we are not chaining
+ int use_sg, i;
+
+ BUG_ON(scsi_sg_count(cmd) > MAXSGENTRIES);
+
+ use_sg = scsi_dma_map(cmd);
+ if (use_sg) { /* not too many addrs? */
+ scsi_for_each_sg(cmd, sg, use_sg, i) {
+ addr64 = (__u64) sg_dma_address(sg);
+ len = sg_dma_len(sg);
+ cp->SG[i].Addr.lower =
+ (__u32) (addr64 & (__u64) 0x00000000FFFFFFFF);
+ cp->SG[i].Addr.upper =
+ (__u32) ((addr64 >> 32) & (__u64) 0x00000000FFFFFFFF);
+ cp->SG[i].Len = len;
+ cp->SG[i].Ext = 0; // we are not chaining
}
- } else BUG();
+ }
- cp->Header.SGList = (__u8) nsegs; /* no. SGs contig in this cmd */
- cp->Header.SGTotal = (__u16) nsegs; /* total sgs in this cmd list */
+ cp->Header.SGList = (__u8) use_sg; /* no. SGs contig in this cmd */
+ cp->Header.SGTotal = (__u16) use_sg; /* total sgs in this cmd list */
return;
}

drivers/ieee1394/sbp2.c

View file
diff --git a/drivers/ieee1394/sbp2.c b/drivers/ieee1394/sbp2.c
index e0c385a..e882cb9 100644
--- a/drivers/ieee1394/sbp2.c
+++ b/drivers/ieee1394/sbp2.c
@@ -1509,69 +1509,6 @@ static void sbp2_prep_command_orb_sg(struct sbp2_command_orb *orb,
}
}
-static void sbp2_prep_command_orb_no_sg(struct sbp2_command_orb *orb,
- struct sbp2_fwhost_info *hi,
- struct sbp2_command_info *cmd,
- struct scatterlist *sgpnt,
- u32 orb_direction,
- unsigned int scsi_request_bufflen,
- void *scsi_request_buffer,
- enum dma_data_direction dma_dir)
-{
- cmd->dma_dir = dma_dir;
- cmd->dma_size = scsi_request_bufflen;
- cmd->dma_type = CMD_DMA_SINGLE;

This diff is incomplete. Download the complete patch.

drivers/infiniband/ulp/iser/iscsi_iser.c

View file

This diff is incomplete. Download the complete patch.

drivers/infiniband/ulp/iser/iscsi_iser.h

View file

This diff is incomplete. Download the complete patch.

drivers/infiniband/ulp/iser/iser_initiator.c

View file

This diff is incomplete. Download the complete patch.

drivers/infiniband/ulp/iser/iser_verbs.c

View file

This diff is incomplete. Download the complete patch.

drivers/infiniband/ulp/srp/ib_srp.c

View file

This diff is incomplete. Download the complete patch.

drivers/infiniband/ulp/srp/ib_srp.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/linux_compat.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi_cnfg.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi_history.txt

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi_inb.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi_init.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi_ioc.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/lsi/mpi_raid.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptbase.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptbase.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptctl.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptctl.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptfc.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptlan.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptlan.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptsas.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptscsih.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptscsih.h

View file

This diff is incomplete. Download the complete patch.

drivers/message/fusion/mptspi.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/i2o/device.c

View file

This diff is incomplete. Download the complete patch.

drivers/message/i2o/i2o_scsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/s390/scsi/zfcp_aux.c

View file

This diff is incomplete. Download the complete patch.

drivers/s390/scsi/zfcp_erp.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/3w-9xxx.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/3w-xxxx.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/53c700.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/53c700.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/53c7xx.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/53c7xx.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/53c7xx.scr

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/53c7xx_d.h_shipped

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/53c7xx_u.h_shipped

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/BusLogic.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/Kconfig

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/NCR5380.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/NCR5380.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/NCR53c406a.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/a100u2w.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/a100u2w.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/a4000t.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aacraid/aachba.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aacraid/aacraid.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aacraid/commsup.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aacraid/linit.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aacraid/rx.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/advansys.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/advansys.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/aha152x.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aha1740.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aic7xxx/aic79xx_osm.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aic7xxx/aic79xx_osm.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aic7xxx/aic7xxx_osm.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aic7xxx/aic7xxx_osm.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/aic7xxx_old.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/amiga7xx.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/amiga7xx.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/arcmsr/arcmsr.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/arcmsr/arcmsr_hba.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/bvme6000.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/bvme6000.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/bvme6000_scsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/dc395x.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/dpt_i2o.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/eata.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/esp_scsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/esp_scsi.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/fdomain.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/gdth.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/hptiop.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ibmmca.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ibmmca.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/ibmvscsi/ibmvscsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ibmvscsi/ibmvscsi.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ibmvscsi/rpa_vscsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/initio.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/initio.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ipr.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ips.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ips.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/iscsi_tcp.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/iscsi_tcp.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/jazz_esp.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/libiscsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/libsas/sas_scsi_host.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_attr.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_crtn.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_ct.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_debugfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_debugfs.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_disc.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_els.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_hbadisc.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_hw.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_init.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_logmsg.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_mbox.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_mem.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_nportdisc.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_scsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_scsi.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_sli.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_sli.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_version.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_vport.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/lpfc/lpfc_vport.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/mac53c94.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/megaraid.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/megaraid/mega_common.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/megaraid/megaraid_mbox.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/megaraid/megaraid_mbox.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/megaraid/megaraid_sas.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/mesh.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/mvme16x.c

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/mvme16x.h

View before deletion

This diff is incomplete. Download the complete patch.

drivers/scsi/mvme16x_scsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ncr53c8xx.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/nsp32.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/pcmcia/sym53c500_cs.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ppa.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/Makefile

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_attr.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_dbg.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_dbg.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_def.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_fw.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_gbl.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_gs.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_init.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_iocb.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_isr.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_mbx.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_mid.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_os.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla2xxx/qla_version.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_dbg.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_def.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_fw.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_glbl.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_init.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_iocb.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_isr.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_mbx.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_nvram.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_os.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qla4xxx/ql4_version.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/qlogicfas408.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_debug.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_devinfo.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_error.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_lib_dma.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_scan.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_sysfs.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_transport_fc.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/scsi_transport_iscsi.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sd.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sg.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sni_53c710.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sr.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/stex.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sun_esp.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sym53c416.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sym53c8xx_2/sym_glue.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/sym53c8xx_2/sym_glue.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/tmscsim.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/tmscsim.h

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/u14-34f.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/ultrastor.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/wd7000.c

View file

This diff is incomplete. Download the complete patch.

drivers/scsi/zorro7xx.c

View file

This diff is incomplete. Download the complete patch.

include/scsi/iscsi_if.h

View file

This diff is incomplete. Download the complete patch.

include/scsi/libiscsi.h

View file

This diff is incomplete. Download the complete patch.

include/scsi/scsi_cmnd.h

View file

This diff is incomplete. Download the complete patch.

include/scsi/scsi_device.h

View file

This diff is incomplete. Download the complete patch.

include/scsi/scsi_host.h

View file

This diff is incomplete. Download the complete patch.

include/scsi/scsi_transport_fc.h

View file

This diff is incomplete. Download the complete patch.

include/scsi/scsi_transport_iscsi.h

View file

This diff is incomplete. Download the complete patch.