Commit graph

389,073 commits

Author SHA1 Message Date
Vaughan Cao
15b06f9a02 [SCSI] sg: use rwsem to solve race during exclusive open
A race condition may happen if two threads are both trying to open the same sg
with O_EXCL simultaneously. It's possible that they both find fsds list is
empty and get_exclude(sdp) returns 0, then they both call set_exclude() and
break out from wait_event_interruptible and resume open.

Now use rwsem to protect this process. Exclusive open gets write lock and
others get read lock. The lock will be held until file descriptor is closed.
This also leads 'exclude' only a status rather than a check mark.

Signed-off-by: Vaughan Cao <[email protected]>
Acked-by: Douglas Gilbert <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:09 -07:00
Akinobu Mita
a027b5b90e [SCSI] scsi_debug: fix logical block provisioning support when unmap_alignment != 0
Commit b90ebc3d5c ("[SCSI] scsi_debug:
fix logical block provisioning support") fixed several issues with
logical block provisioning support, but it still doesn't properly fix
the cases when unmap_alignment > 0.

For example, load scsi_debug module with the following module parameters
and make all blocks mapped by filling the storage with zero.

        # modprobe scsi_debug lbpu=1 unmap_alignment=1 unmap_granularity=4
        # dd if=/dev/zero of=$DEV

Then, try to unmap the first unmappable blocks at lba=1, but GET LBA STATUS
unexpectedly reports that the last UNMAP has done nothing.

        # sg_unmap --lba=1 --num=4 $DEV
        # sg_get_lba_status --lba=1 $DEV
        descriptor LBA: 0x0000000000000001  blocks: 16383  mapped

The problem is in map_index_to_lba(), which should return the first
LBA which is corresponding to a given index of provisioning map
(map_storep).

Signed-off-by: Akinobu Mita <[email protected]>
Acked-by: "Martin K. Petersen" <[email protected]>
Acked-by: Douglas Gilbert <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:08 -07:00
Akinobu Mita
150c3544b1 [SCSI] scsi_debug: fix endianness bug in sdebug_build_parts()
With module parameter num_parts > 0, partition table is built on the
ramdisk storage when loading the driver.  Unfortunately, there is an
endianness bug in sdebug_build_parts().  So the partition table is not
correctly initialized on big-endian systems.

Signed-off-by: Akinobu Mita <[email protected]>
Tested-by: Martin Peschke <[email protected]>
Acked-by: Douglas Gilbert <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:08 -07:00
Saurav Kashyap
e03d1b21d1 [SCSI] qla2xxx: Update the driver version to 8.06.00.08-k.
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:08 -07:00
Andy Shevchenko
ac3d5f0ab9 [SCSI] qla2xxx: print MAC via %pMR.
Signed-off-by: Andy Shevchenko <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:08 -07:00
Saurav Kashyap
6ddcfef7e1 [SCSI] qla2xxx: Correction to message ids.
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:07 -07:00
Joe Carnuccio
0e31a2c830 [SCSI] qla2xxx: Correctly print out/in mailbox registers.
At mailbox/buffer debug level, print the correct values of the
outgoing and incoming mailbox registers.

Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:07 -07:00
Sawan Chandak
8c2cf7d4e3 [SCSI] qla2xxx: Add a new interface to update versions.
On any Adapter when we flash through FC/FCoE without card reset option it still
shows the Running FW version in Flashed FW version. This new interface will be
used by API to instruct the driver to update its cache versions.

Signed-off-by: Sawan Chandak <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:07 -07:00
Chad Dupuis
353d9449b7 [SCSI] qla2xxx: Move queue depth ramp down message to i/o debug level.
Unless there is a need to observe them, the queue depth ramp up/down messages
are a nuisance and may cause the system to become unresponsive so move it a
non-default logging level.

Signed-off-by: Chad Dupuis <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:06 -07:00
Joe Carnuccio
5a5c27b611 [SCSI] qla2xxx: Select link initialization option bits from current operating mode.
Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:06 -07:00
Santosh Vernekar
454073c905 [SCSI] qla2xxx: Add loopback IDC-TIME-EXTEND aen handling support.
Earlier IDC-TIME-EXTEND aen was a nop and ignored by driver.
We now have to handle the aen so that other protocol drivers can use time
extension during some loopback operations.

Signed-off-by: Santosh Vernekar <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:06 -07:00
Armen Baloyan
f875cd4cc4 [SCSI] qla2xxx: Set default critical temperature value in cases when ISPFX00 firmware doesn't provide it
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:06 -07:00
Armen Baloyan
4881d095e6 [SCSI] qla2xxx: QLAFX00 make over temperature AEN handling informational, add log for normal temperature AEN
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:05 -07:00
Armen Baloyan
966460d822 [SCSI] qla2xxx: Correct Interrupt Register offset for ISPFX00
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:05 -07:00
Armen Baloyan
c66fb88d86 [SCSI] qla2xxx: Remove handling of Shutdown Requested AEN from qlafx00_process_aen().
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:05 -07:00
Armen Baloyan
c18b8e9e9d [SCSI] qla2xxx: Send all AENs for ISPFx00 to above layers.
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:04 -07:00
Armen Baloyan
f9a2a54356 [SCSI] qla2xxx: Add changes in initialization for ISPFX00 cards with BIOS
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:04 -07:00
Armen Baloyan
1fe19ee488 [SCSI] qla2xxx: Add changes to support extended IOs for ISPFX00
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:04 -07:00
Joe Carnuccio
fabbb8df8e [SCSI] qla2xxx: Add missing FCP statistics to sysfs interface.
Add the missing FCP statistics to sysfs.
Add reset FCP statistics functionality via sysfs.

Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:04 -07:00
Chad Dupuis
0e948975ef [SCSI] qla2xxx: Make log message that prints when a completion status requires a port down more readable.
Signed-off-by: Chad Dupuis <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:03 -07:00
Armen Baloyan
71e5600362 [SCSI] qla2xxx: Add critical temperature handling for ISPFX00.
Signed-off-by: Armen Baloyan <[email protected]>
Acked-by: Srinivasa Rao <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:03 -07:00
Armen Baloyan
4247934397 [SCSI] qla2xxx: Notify ISPFX00 firmware when driver is unloaded or system is shut down.
Signed-off-by: Armen Baloyan <[email protected]>
Acked-by: Srinivasa Rao <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:03 -07:00
Joe Carnuccio
1ae47cf300 [SCSI] qla2xxx: Reconfigure thermal temperature.
For supported ISPS, Read asic temperature by calling the
GET PARAMS (type C) mailbox command.

Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:03 -07:00
Joe Carnuccio
c46e65c7e5 [SCSI] qla2xxx: Add setting of driver version string for vendor application.
Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:02 -07:00
Chad Dupuis
a78951b23b [SCSI] qla2xxx: Remove QL_DEBUG_LEVEL_17 defines from qla_nx.c.
Signed-off-by: Chad Dupuis <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:02 -07:00
Armen Baloyan
5854771e31 [SCSI] qla2xxx: Add ISPFX00 specific bus reset routine.
Signed-off-by: Armen Baloyan <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:02 -07:00
Armen Baloyan
e601d778d5 [SCSI] qla2xxx: Perform warm reset every 2 minutes if firmware load fails for ISPFX00.
Signed-off-by: Armen Baloyan <[email protected]>
Acked-by: Srinivasa Rao <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:01 -07:00
Armen Baloyan
b6511d9976 [SCSI] qla2xxx: Set factory reset recovery timeout to 10 min. for ISPFX00.
Signed-off-by: Armen Baloyan <[email protected]>
Acked-by: Srinivasa Rao <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:01 -07:00
Andrew Vasquez
da9b1d5cb9 [SCSI] qla2xxx: Correct multiqueue offset calculations.
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:01 -07:00
Joe Carnuccio
e8b8b8ad6e [SCSI] qla2xxx: Fix incorrect test after list_for_each_entry() exits.
list_for_each_entry() never leaves the iterator pointing to null.

Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:00 -07:00
Atul Deshmukh
7ec0effd30 [SCSI] qla2xxx: Add support for ISP8044.
[jejb: checkpatch fixes]
Signed-off-by: Atul Deshmukh <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:28:00 -07:00
Oleksandr Khoshaba
7b83355890 [SCSI] qla2xxx: Print some variables to hexadecimal string via %*phN format
The patch changes a specifier used to output some variables. Instead of using
stack for each byte the '%*ph[CN]' allows to take a one pointer and prints
entire buffer as a hexadecimal string with the separator ':' or ''.

Signed-off-by: Oleksandr Khoshaba <[email protected]>
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:59 -07:00
Jan Vesely
963ba22b90 [SCSI] mpt3sas: Remove phys on topology change
Signed-off-by: Jan Vesely <[email protected]>
Acked-by: Sreekanth Reddy <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:59 -07:00
Jan Vesely
3520f9c779 [SCSI] mpt2sas: Remove phys on topology change.
Signed-off-by: Jan Vesely <[email protected]>
Acked-by: Sreekanth Reddy <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:58 -07:00
Rasesh Mody
71b3ba7dbf [SCSI] bfa: firmware update to 3.2.1.1
This patch updates the firmware to address the thermal notification issue

Signed-off-by: Rasesh Mody <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:58 -07:00
Bradley Grove
26780d9e12 [SCSI] esas2r: ATTO Technology ExpressSAS 6G SAS/SATA RAID Adapter Driver
This is a new driver for ATTO Technology's ExpressSAS series of hardware RAID
adapters.  It supports the following adapters:

    - ExpressSAS R60F
    - ExpressSAS R680
    - ExpressSAS R608
    - ExpressSAS R644

Signed-off-by: Bradley Grove <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:58 -07:00
Dan Carpenter
127be35528 [SCSI] eata_pio: off by one in eata_pio_detect()
Smatch complains that the reg_IRQ[] array only has MAXIRQ (16) elements
so we are one space beyond the end of the array here.

Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:58 -07:00
Vikas Chaudhary
272fd3b28f [SCSI] qla4xxx: Update driver version to 5.04.00-k1
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:57 -07:00
Vikas Chaudhary
35a9c2ab39 [SCSI] qla4xxx: Return error if minidump data collection fails
Return error from function qla4_8xxx_collect_md_data()
if minidump data collection fails.

Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:57 -07:00
Santosh Vernekar
4812d070f3 [SCSI] qla4xxx: Fix the minidump data collection check in for loop
Signed-off-by: Santosh Vernekar <[email protected]>
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:57 -07:00
Santosh Vernekar
41f79bde1d [SCSI] qla4xxx: Add pex-dma support for capturing minidump
Add pex-dma support for ISP8324 and ISP8042 to improve
the minidump capture time.

Signed-off-by: Santosh Vernekar <[email protected]>
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:56 -07:00
Steffen Maier
909ee499c1 [SCSI] zfcp: enable FCP hardware data router by default
Enabling the data router support by default
can increase performance in certain situations.
It is safe to do so and tolerated in LPAR and under z/VM
in case there is no data router support in that environment.

Signed-off-by: Steffen Maier <[email protected]>
Reviewed-by: Martin Peschke <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:56 -07:00
Martin Peschke
ff5e5842c3 [SCSI] zfcp: dead code removal
Get rid of unused function zfcp_fsf_get_req and corresponding
prototype definition.

Commit a54ca0f62f in v2.6.28
"[SCSI] zfcp: Redesign of the debug tracing for HBA records."
accidentally introduced this code which was dead in the first place.

Signed-off-by: Martin Peschke <[email protected]>
Signed-off-by: Steffen Maier <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:56 -07:00
Martin Peschke
ee732ea829 [SCSI] zfcp: cleanup use of obsolete strict_strto* functions
strict_strtoul and friends are obsolete. Use kstrtoul functions
instead.

Signed-off-by: Martin Peschke <[email protected]>
Signed-off-by: Steffen Maier <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:55 -07:00
Martin Peschke
75a1408d32 [SCSI] zfcp: consistently use appropriate SBAL flag definitions
minor cleanup for status read request

Signed-off-by: Martin Peschke <[email protected]>
Signed-off-by: Steffen Maier <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:55 -07:00
Sreekanth Reddy
9c5000606d [SCSI] mpt3sas: Added a driver module parameter max_msix_vectors
Added a driver module parameter max_msix_vectors. Using this module parameter
the maximum number of MSI-X vectors could be set.

The number of MSI-X vectors used would be the minimum of MSI-X vectors
supported by the HBA, the number of CPU cores and the value set to
max_msix_vectors module parameter.

The default value of this module parameter is set to 8. The default value of
this parameter is set to 8 inorder to reduce the amount of memory required for
Reply Descriptor Post queue.  This is because with the higher MSI-X vectors,
some times kernel is not able to allocate the requested amount of memory and
crash is observed. To overcome this problem, the default value is set to 8.

Signed-off-by: Sreekanth Reddy <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:55 -07:00
Vikas Chaudhary
a9623da05f [SCSI] qla4xxx: Update driver version to 5.04.00-k0
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:54 -07:00
Vikas Chaudhary
4a4f51e9b6 [SCSI] qla4xxx: Update Copyright header
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:54 -07:00
Nilesh Javali
7ab284c9fb [SCSI] qla4xxx: Implementation of ACB configuration during Loopback for ISP8042
While loopback diagnostic is in progress, disable the ACB which resets
all the active connections to target. Disable ACB would filter out all
the DHCP multicast and broadcast packets which otherwise cause the
diagnostic test to take longer time to complete or failures in some
other cases.

Signed-off-by: Nilesh Javali <[email protected]>
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:54 -07:00
Vikas Chaudhary
b37ca4183c [SCSI] qla4xxx: Added support for ISP8042
Signed-off-by: Vikas Chaudhary <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
2013-09-03 07:27:53 -07:00