[GIT PULL] First round of SCSI updates for the 3.16+ merge window

From: James Bottomley
Date: Wed Aug 06 2014 - 13:28:38 EST


This patch set consists of the usual driver updates (ufs, storvsc,
pm8001 hpsa). It also has removal of the user space target driver code
(everyone is using LIO now), a partial PCI MSI-X update, more
multi-queue updates, conversion to 64 bit LUNs (so we could
theoretically cope with any LUN returned by a device) and placeholder
support for the ZBC device type (Shingle drives), plus an assortment of
minor updates and bug fixes.

The patch is available here:

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

The short changelog is:

Akinobu Mita (6):
ufs: fix DMA mask setting
ufs: adjust queue settings to PRDT limitations
scsi_debug: allow huge transfer length for read/write commands
scsi: increase upper limit for max_sectors
sd: use READ_16 or WRITE_16 when transfer length is greater than 0xffff
sg: prevent integer overflow when converting from sectors to bytes

Alexander Gordeev (8):
vmw_pvscsi: Use pci_enable_msix_exact() instead of pci_enable_msix()
pm8001: Fix invalid return when request_irq() failed
lpfc: Remove superfluous call to pci_disable_msix()
isci: Use pci_enable_msix_exact() instead of pci_enable_msix()
bfa: Use pci_enable_msix_exact() instead of pci_enable_msix()
bfa: Cleanup bfad_setup_intr() function
bfa: Do not call pci_enable_msix() after it failed once
fnic: Use pci_enable_msix_exact() instead of pci_enable_msix()

Arnd Bergmann (6):
hpsa: fix non-x86 builds
3w-xxxx: fix mis-aligned struct accesses
NCR53c406a: don't call free_dma() by default
qlogicfas: don't call free_dma()
pas16: don't call free_dma()
advansys: don't build ARM

Bart Van Assche (3):
tgt: defconfig cleanup
tgt: removal
scsi: remove two cancel_delayed_work() calls from the mid-layer

Ben Hutchings (1):
bfa: Fix undefined bit shift on big-endian architectures with 32-bit DMA address

Bradley Grove (1):
pm8001: Fix hibernation issue

Christoph Hellwig (30):
scsi: move the writeable field from struct scsi_device to struct scsi_cd
scsi: add a symbolic name for the ZBC device type
scsi: update scsi_device_types
fnic: reject device resets without assigned tags for the blk-mq case
scsi: add support for a blk-mq based I/O path.
scatterlist: allow chaining to preallocated chunks
scsi: unwind blk_end_request_all and blk_end_request_err calls
scsi: only maintain target_blocked if the driver has a target queue limit
scsi: fix the {host,target,device}_blocked counter mess
scsi: convert device_busy to atomic_t
scsi: convert host_busy to atomic_t
scsi: convert target_busy to an atomic_t
scsi: push host_lock down into scsi_{host,target}_queue_ready
scsi: set ->scsi_done before calling scsi_dispatch_cmd
scsi: centralize command re-queueing in scsi_dispatch_fn
scsi: split __scsi_queue_insert
scsi: add scsi_setup_cmnd helper
scsi: mark scsi_setup_blk_pc_cmnd static
sd: split sd_init_command
sd: retry discard commands
sd: retry write same commands
sd: don't use scsi_setup_blk_pc_cmnd for discard requests
sd: don't use scsi_setup_blk_pc_cmnd for write same requests
sd: don't use scsi_setup_blk_pc_cmnd for flush requests
scsi: set sc_data_direction in common code
scsi: restructure command initialization for TYPE_FS requests
scsi: move the nr_phys_segments assert into scsi_init_io
scsi: remove various exports that were only used by scsi_tgt
libsrp: removal
ibmvstgt: remove

Clément Calmels (1):
sd: bad return code of init_sd

Dick Kennedy (1):
scsi: add defines for new FC port speeds.

Dolev Raviv (4):
ufs: read door bell register after clearing interrupt aggregation
ufs: Logical Unit (LU) command queue depth
ufs: device query status and size check
ufs: query descriptor API

Douglas Gilbert (5):
scsi_debug: support scsi-mq, queues and locks
scsi: cleanup switch in scsi_adjust_queue_depth
sg: O_EXCL and other lock handling
sg: add SG_FLAG_Q_AT_TAIL flag
sg: relax 16 byte cdb restriction

Fabian Frederick (1):
bfa: use ARRAY_SIZE instead of sizeof/sizeof[0]

Hannes Reinecke (13):
scsi: use dev_printk variants where possible
scsi: use dev_printk() variants for ioctl
scsi: Implement st_printk()
scsi: Implement ch_printk()
scsi: Implement sg_printk()
scsi: Implement sr_printk()
scsi_scan: Fixup scsilun_to_int()
scsi: use 64-bit value for 'max_luns'
Add module param type 'ullong'
scsi: use 64-bit LUNs
qla2xxx: Restrict max_lun to 16-bit for older HBAs
scsi_scan: Restrict sequential scan to 256 LUNs
scsi: Remove CONFIG_SCSI_MULTI_LUN

Himangi Saraogi (1):
aic7xxx: Use kstrdup

James Bottomley (1):
scsi: use short driver name for per-driver cmd slab caches

Janusz Dziemidowicz (1):
scsi: do not issue SCSI RSOC command to Promise Vtrak E610f

Joe Lawrence (11):
mptfusion: tweak null pointer checks
mptfusion: combine fw_event_work and its event_data
mptfusion: make adapter prod_name[] a pointer
mptfusion: use memdup_user
mptfusion: remove redundant kfree checks
mptfusion: mark file-private functions as static
mpt3sas: combine fw_event_work and its event_data
mpt3sas: correct scsi_{target,device} hostdata allocation
mpt2sas: annotate ioc->reply_post_host_index as __iomem
mpt2sas: combine fw_event_work and its event_data
mpt2sas: correct scsi_{target,device} hostdata allocation

Joe Perches (2):
qla2xxx: Use dma_zalloc_coherent
bfa: Use dma_zalloc_coherent

K. Y. Srinivasan (9):
Drivers: add blist flags
drivers: scsi: storvsc: Correctly handle TEST_UNIT_READY failure
drivers: scsi: storvsc: Set srb_flags in all cases
Drivers: scsi: storvsc: Implement a eh_timed_out handler
Drivers: scsi: storvsc: Fix a bug in handling VMBUS protocol version
Drivers: scsi: storvsc: Filter commands based on the storage protocol version
Drivers: scsi: storvsc: Set cmd_per_lun to reflect value supported by the Host
Drivers: scsi: storvsc: Change the limits to reflect the values on the host
sd: fix a bug in deriving the FLUSH_TIMEOUT from the basic I/O timeout

Martin K. Petersen (4):
mpt3sas: Rework the MSI-X grouping code
mpt2sas: Rework the MSI-X grouping code
scsi: add a blacklist flag which enables VPD page inquiries
sd: Limit transfer length

Maurizio Lombardi (2):
be2iscsi: Fix memory leak in mgmt_set_ip()
scsi_lib: remove the description string in scsi_io_completion()

Mike Christie (1):
bnx2i, be2iscsi: fix custom stats length

Ming Lei (1):
virtio-scsi: replace target spinlock with seqcount

Nick Black' via open-iscsi (1):
iscsi: kill redundant casts

Paul Bolle (1):
tgt: remove SCSI_TGT and SCSI_FC_TGT_ATTRS

Peter Senna Tschudin (1):
bfa: remove useless return variables

Reddy, Sreekanth (2):
mpt3sas: delay scsi_add_host call to work with scsi-mq
mpt2sas: delay scsi_add_host call to work with scsi-mq

Rickard Strandqvist (2):
pm8001: Cleaning up uninitialized variables
pm8001: Fix to remove null pointer checks that could never happen

Robert Elliott (1):
hpsa: do not unconditionally copy sense data

Saurav Kashyap (1):
bnx2fc: Rebranding bnx2fc driver

Stephen M. Cameron (4):
hpsa: fix bad -ENOMEM return value in hpsa_big_passthru_ioctl
hpsa: remove online devices from offline device list
hpsa: fix 6-byte READ/WRITE with 0 length data xfer
hpsa: make hpsa_init_one return -ENOMEM if allocation of h->lockup_detected fails

Sujit Reddy Thumma (4):
scsi: ufs: fix endianness sparse warnings
scsi: ufs: make undeclared functions static
ufs: Fix sending unsupported SCSI command
ufs: Fix queue depth handling for best effort cases

Tomas Henzl (7):
pm8001: fix a memory leak in nvmd_resp
pm8001: fix update_flash
pm8001: fix a memory leak in flash_update
pm8001: more fixes to honor return value
pm8001: add a new spinlock to protect the CCB
pm8001: honor return value
pm8001: clean bitmap management functions

Tyrel Datwyler (1):
ibmvfc: fix little endian issues

Vaughan Cao (1):
sd: notify block layer when using temporary change to cache_type

Venkatesh Srinivas (1):
virtio-scsi: Implement change_queue_depth for virtscsi targets

Vikas Chaudhary (3):
bnx2i: Update driver version to 2.7.10.1
MAINTAINERS: Update maintainer list for bnx2i and bnx2fc
bnx2i: Rebranding bnx2i driver

And the diffstat:

Documentation/scsi/tmscsim.txt | 2 -
MAINTAINERS | 4 +-
arch/arm/configs/msm_defconfig | 1 -
arch/arm/configs/s3c2410_defconfig | 1 -
arch/m68k/configs/amiga_defconfig | 1 -
arch/m68k/configs/apollo_defconfig | 1 -
arch/m68k/configs/atari_defconfig | 1 -
arch/m68k/configs/bvme6000_defconfig | 1 -
arch/m68k/configs/hp300_defconfig | 1 -
arch/m68k/configs/mac_defconfig | 1 -
arch/m68k/configs/multi_defconfig | 1 -
arch/m68k/configs/mvme147_defconfig | 1 -
arch/m68k/configs/mvme16x_defconfig | 1 -
arch/m68k/configs/q40_defconfig | 1 -
arch/m68k/configs/sun3_defconfig | 1 -
arch/m68k/configs/sun3x_defconfig | 1 -
arch/mips/configs/db1xxx_defconfig | 1 -
arch/mips/configs/decstation_defconfig | 1 -
arch/mips/configs/ip22_defconfig | 1 -
arch/mips/configs/ip27_defconfig | 1 -
arch/mips/configs/ip32_defconfig | 1 -
arch/mips/configs/jazz_defconfig | 1 -
arch/mips/configs/loongson3_defconfig | 1 -
arch/mips/configs/malta_defconfig | 1 -
arch/mips/configs/malta_kvm_defconfig | 1 -
arch/mips/configs/malta_kvm_guest_defconfig | 1 -
arch/mips/configs/markeins_defconfig | 1 -
arch/mips/configs/nlm_xlp_defconfig | 3 -
arch/mips/configs/nlm_xlr_defconfig | 3 -
arch/mips/configs/rm200_defconfig | 1 -
arch/mips/configs/tb0226_defconfig | 1 -
arch/mips/configs/tb0287_defconfig | 1 -
arch/powerpc/configs/52xx/motionpro_defconfig | 1 -
arch/powerpc/configs/86xx/mpc8610_hpcd_defconfig | 1 -
arch/powerpc/configs/mpc5200_defconfig | 1 -
arch/powerpc/configs/ppc6xx_defconfig | 2 -
arch/s390/configs/default_defconfig | 2 -
arch/s390/configs/gcov_defconfig | 2 -
arch/s390/configs/performance_defconfig | 2 -
arch/sh/configs/sh2007_defconfig | 1 -
arch/tile/configs/tilegx_defconfig | 1 -
arch/tile/configs/tilepro_defconfig | 1 -
drivers/ata/libata-scsi.c | 2 +-
drivers/ata/libata.h | 2 +-
drivers/message/fusion/mptbase.c | 23 +-
drivers/message/fusion/mptbase.h | 4 +-
drivers/message/fusion/mptctl.c | 18 +-
drivers/message/fusion/mptfc.c | 9 +-
drivers/message/fusion/mptsas.c | 76 +-
drivers/message/fusion/mptsas.h | 2 +-
drivers/message/fusion/mptscsih.c | 31 +-
drivers/message/fusion/mptscsih.h | 4 +-
drivers/message/fusion/mptspi.c | 5 +-
drivers/message/i2o/i2o_scsi.c | 11 +-
drivers/s390/scsi/zfcp_dbf.c | 3 +-
drivers/s390/scsi/zfcp_unit.c | 4 +-
drivers/scsi/3w-xxxx.h | 4 +-
drivers/scsi/53c700.c | 7 +-
drivers/scsi/Kconfig | 61 +-
drivers/scsi/Makefile | 5 -
drivers/scsi/NCR5380.c | 31 +-
drivers/scsi/NCR53c406a.c | 4 +-
drivers/scsi/a100u2w.c | 2 +-
drivers/scsi/aacraid/linit.c | 2 +-
drivers/scsi/advansys.c | 6 +-
drivers/scsi/aha152x.c | 6 +-
drivers/scsi/aic7xxx/aic7770_osm.c | 3 +-
drivers/scsi/aic7xxx/aic79xx.h | 2 +-
drivers/scsi/aic7xxx/aic79xx_osm.c | 6 +-
drivers/scsi/aic7xxx/aic79xx_osm_pci.c | 3 +-
drivers/scsi/aic7xxx/aic79xx_proc.c | 2 +-
drivers/scsi/aic7xxx/aic7xxx_osm.c | 11 +-
drivers/scsi/aic7xxx/aic7xxx_osm_pci.c | 3 +-
drivers/scsi/aic7xxx/aic7xxx_proc.c | 2 +-
drivers/scsi/arcmsr/arcmsr_hba.c | 8 +-
drivers/scsi/arm/acornscsi.c | 14 +-
drivers/scsi/arm/fas216.c | 11 +-
drivers/scsi/arm/queue.c | 3 +-
drivers/scsi/atari_NCR5380.c | 62 +-
drivers/scsi/be2iscsi/be_iscsi.c | 2 +-
drivers/scsi/be2iscsi/be_mgmt.c | 20 +-
drivers/scsi/bfa/bfa_fcs.c | 6 +-
drivers/scsi/bfa/bfa_ioc.h | 2 +-
drivers/scsi/bfa/bfad.c | 62 +-
drivers/scsi/bfa/bfad_bsg.c | 16 +-
drivers/scsi/bnx2fc/57xx_hsi_bnx2fc.h | 13 +
drivers/scsi/bnx2fc/Kconfig | 4 +-
drivers/scsi/bnx2fc/bnx2fc.h | 7 +-
drivers/scsi/bnx2fc/bnx2fc_constants.h | 13 +
drivers/scsi/bnx2fc/bnx2fc_debug.c | 13 +
drivers/scsi/bnx2fc/bnx2fc_debug.h | 13 +
drivers/scsi/bnx2fc/bnx2fc_els.c | 3 +-
drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 11 +-
drivers/scsi/bnx2fc/bnx2fc_hwi.c | 3 +-
drivers/scsi/bnx2fc/bnx2fc_io.c | 7 +-
drivers/scsi/bnx2fc/bnx2fc_tgt.c | 3 +-
drivers/scsi/bnx2i/57xx_iscsi_constants.h | 6 +-
drivers/scsi/bnx2i/57xx_iscsi_hsi.h | 6 +-
drivers/scsi/bnx2i/Kconfig | 4 +-
drivers/scsi/bnx2i/bnx2i.h | 6 +-
drivers/scsi/bnx2i/bnx2i_hwi.c | 6 +-
drivers/scsi/bnx2i/bnx2i_init.c | 14 +-
drivers/scsi/bnx2i/bnx2i_iscsi.c | 15 +-
drivers/scsi/bnx2i/bnx2i_sysfs.c | 6 +-
drivers/scsi/ch.c | 30 +-
drivers/scsi/csiostor/csio_scsi.c | 24 +-
drivers/scsi/cxgbi/libcxgbi.c | 2 +-
drivers/scsi/cxgbi/libcxgbi.h | 2 +-
drivers/scsi/dc395x.c | 51 +-
drivers/scsi/dpt_i2o.c | 38 +-
drivers/scsi/dpti.h | 6 +-
drivers/scsi/eata.c | 4 +-
drivers/scsi/fnic/fnic_isr.c | 4 +-
drivers/scsi/fnic/fnic_scsi.c | 20 +-
drivers/scsi/g_NCR5380.c | 2 +-
drivers/scsi/hosts.c | 50 +-
drivers/scsi/hpsa.c | 37 +-
drivers/scsi/hptiop.c | 2 +-
drivers/scsi/ibmvscsi/Makefile | 1 -
drivers/scsi/ibmvscsi/ibmvfc.c | 477 +++----
drivers/scsi/ibmvscsi/ibmvfc.h | 268 ++--
drivers/scsi/ibmvscsi/ibmvstgt.c | 1001 ---------------
drivers/scsi/in2000.c | 6 +-
drivers/scsi/isci/init.c | 2 +-
drivers/scsi/libiscsi.c | 12 +-
drivers/scsi/libsas/sas_scsi_host.c | 16 +-
drivers/scsi/libsrp.c | 447 -------
drivers/scsi/lpfc/lpfc_attr.c | 10 +-
drivers/scsi/lpfc/lpfc_init.c | 9 +-
drivers/scsi/lpfc/lpfc_scsi.c | 36 +-
drivers/scsi/megaraid.c | 6 +-
drivers/scsi/megaraid/mega_common.h | 2 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 4 +-
drivers/scsi/mesh.c | 2 +-
drivers/scsi/mpt2sas/mpt2sas_base.c | 75 +-
drivers/scsi/mpt2sas/mpt2sas_base.h | 2 +-
drivers/scsi/mpt2sas/mpt2sas_scsih.c | 83 +-
drivers/scsi/mpt3sas/mpt3sas_base.c | 75 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 92 +-
drivers/scsi/ncr53c8xx.c | 2 +-
drivers/scsi/ncr53c8xx.h | 4 -
drivers/scsi/nsp32.c | 2 +-
drivers/scsi/pas16.c | 2 -
drivers/scsi/pcmcia/nsp_cs.c | 2 +-
drivers/scsi/pcmcia/sym53c500_cs.c | 2 +-
drivers/scsi/pm8001/pm8001_ctl.c | 11 +-
drivers/scsi/pm8001/pm8001_hwi.c | 65 +-
drivers/scsi/pm8001/pm8001_init.c | 40 +-
drivers/scsi/pm8001/pm8001_sas.c | 38 +-
drivers/scsi/pm8001/pm8001_sas.h | 2 +-
drivers/scsi/pm8001/pm80xx_hwi.c | 48 +-
drivers/scsi/pmcraid.c | 2 +-
drivers/scsi/ps3rom.c | 2 +-
drivers/scsi/qla2xxx/qla_def.h | 6 +-
drivers/scsi/qla2xxx/qla_gbl.h | 18 +-
drivers/scsi/qla2xxx/qla_init.c | 10 +-
drivers/scsi/qla2xxx/qla_iocb.c | 11 +-
drivers/scsi/qla2xxx/qla_isr.c | 4 +-
drivers/scsi/qla2xxx/qla_mbx.c | 12 +-
drivers/scsi/qla2xxx/qla_mr.c | 8 +-
drivers/scsi/qla2xxx/qla_os.c | 48 +-
drivers/scsi/qla4xxx/ql4_glbl.h | 4 +-
drivers/scsi/qla4xxx/ql4_iocb.c | 2 +-
drivers/scsi/qla4xxx/ql4_isr.c | 22 +-
drivers/scsi/qla4xxx/ql4_mbx.c | 6 +-
drivers/scsi/qla4xxx/ql4_os.c | 20 +-
drivers/scsi/qlogicfas.c | 2 -
drivers/scsi/qlogicpti.c | 2 +-
drivers/scsi/scsi.c | 132 +-
drivers/scsi/scsi_debug.c | 1483 +++++++++++++++-------
drivers/scsi/scsi_devinfo.c | 1 +
drivers/scsi/scsi_error.c | 186 +--
drivers/scsi/scsi_ioctl.c | 17 +-
drivers/scsi/scsi_lib.c | 935 ++++++++++----
drivers/scsi/scsi_priv.h | 5 +-
drivers/scsi/scsi_proc.c | 2 +-
drivers/scsi/scsi_scan.c | 187 ++-
drivers/scsi/scsi_sysfs.c | 45 +-
drivers/scsi/scsi_tgt_if.c | 399 ------
drivers/scsi/scsi_tgt_lib.c | 661 ----------
drivers/scsi/scsi_tgt_priv.h | 32 -
drivers/scsi/scsi_transport_fc.c | 20 +-
drivers/scsi/scsi_transport_fc_internal.h | 26 -
drivers/scsi/scsi_transport_iscsi.c | 8 +-
drivers/scsi/scsi_transport_sas.c | 2 +-
drivers/scsi/scsi_transport_srp.c | 18 -
drivers/scsi/scsi_transport_srp_internal.h | 25 -
drivers/scsi/sd.c | 220 ++--
drivers/scsi/sd.h | 3 +
drivers/scsi/sg.c | 657 +++++-----
drivers/scsi/sr.c | 70 +-
drivers/scsi/sr.h | 5 +
drivers/scsi/sr_ioctl.c | 26 +-
drivers/scsi/sr_vendor.c | 36 +-
drivers/scsi/st.c | 605 ++++-----
drivers/scsi/storvsc_drv.c | 123 +-
drivers/scsi/sun3_NCR5380.c | 57 +-
drivers/scsi/sym53c8xx_2/sym_glue.c | 2 +-
drivers/scsi/sym53c8xx_2/sym_hipd.h | 2 +-
drivers/scsi/tmscsim.c | 6 +-
drivers/scsi/u14-34f.c | 10 +-
drivers/scsi/ufs/ufs.h | 38 +-
drivers/scsi/ufs/ufshcd-pci.c | 26 -
drivers/scsi/ufs/ufshcd.c | 427 +++++--
drivers/scsi/ufs/ufshci.h | 5 +
drivers/scsi/virtio_scsi.c | 75 +-
drivers/scsi/vmw_pvscsi.c | 2 +-
drivers/scsi/wd33c93.c | 33 +-
drivers/staging/rts5208/rtsx.c | 4 +-
drivers/target/loopback/tcm_loop.c | 2 +-
drivers/target/target_core_pscsi.c | 12 +-
drivers/usb/storage/Kconfig | 4 +-
drivers/usb/storage/sddr09.c | 4 +-
drivers/usb/storage/usb.c | 10 +-
include/linux/moduleparam.h | 5 +
include/linux/scatterlist.h | 6 +-
include/scsi/libsrp.h | 78 --
include/scsi/scsi.h | 3 +-
include/scsi/scsi_cmnd.h | 3 -
include/scsi/scsi_device.h | 39 +-
include/scsi/scsi_devinfo.h | 5 +
include/scsi/scsi_driver.h | 3 -
include/scsi/scsi_host.h | 68 +-
include/scsi/scsi_tcq.h | 28 +-
include/scsi/scsi_tgt.h | 21 -
include/scsi/scsi_tgt_if.h | 108 --
include/scsi/scsi_transport.h | 2 +-
include/scsi/scsi_transport_fc.h | 4 +
include/scsi/sg.h | 92 +-
kernel/params.c | 1 +
lib/scatterlist.c | 25 +-
231 files changed, 4936 insertions(+), 6265 deletions(-)
delete mode 100644 drivers/scsi/ibmvscsi/ibmvstgt.c
delete mode 100644 drivers/scsi/libsrp.c
delete mode 100644 drivers/scsi/scsi_tgt_if.c
delete mode 100644 drivers/scsi/scsi_tgt_lib.c
delete mode 100644 drivers/scsi/scsi_tgt_priv.h
delete mode 100644 drivers/scsi/scsi_transport_fc_internal.h
delete mode 100644 drivers/scsi/scsi_transport_srp_internal.h
delete mode 100644 include/scsi/libsrp.h
delete mode 100644 include/scsi/scsi_tgt.h
delete mode 100644 include/scsi/scsi_tgt_if.h


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/