aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-09-03Merge branch 'lockref' (locked reference counts)Linus Torvalds9-97/+237
Merge lockref infrastructure code by me and Waiman Long. I already merged some of the preparatory patches that didn't actually do any semantic changes earlier, but this merges the actual _reason_ for those preparatory patches. The "lockref" structure is a combination "spinlock and reference count" that allows optimized reference count accesses. In particular, it guarantees that the reference count will be updated AS IF the spinlock was held, but using atomic accesses that cover both the reference count and the spinlock words, we can often do the update without actually having to take the lock. This allows us to avoid the nastiest cases of spinlock contention on large machines under heavy pathname lookup loads. When updating the dentry reference counts on a large system, we'll still end up with the cache line bouncing around, but that's much less noticeable than actually having to spin waiting for the lock. * lockref: lockref: implement lockless reference count updates using cmpxchg() lockref: uninline lockref helper functions vfs: reimplement d_rcu_to_refcount() using lockref_get_or_lock() vfs: use lockref_get_not_zero() for optimistic lockless dget_parent() lockref: add 'lockref_get_or_lock() helper
2013-09-03libata: bugfix: Remove __le32 in ata_tf_to_fis()Marc Carino1-6/+4
The endianness attribute on the 'aux' local variable is wrong, and can lead to wrong endianness on big-endian machines, Signed-off-by: Marc Carino <[email protected]> Signed-off-by: Tejun Heo <[email protected]>
2013-09-03[SCSI] sg: push file descriptor list locking down to per-device lockingVaughan Cao1-28/+34
Push file descriptor list locking down to per-device locking. Let sg_index_lock only protect device lookup. sdp->detached is also set and checked with this lock held. Signed-off-by: Vaughan Cao <[email protected]> Acked-by: Douglas Gilbert <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] sg: checking sdp->detached isn't protected when openVaughan Cao1-8/+9
@detached is set under the protection of sg_index_lock. Without getting the lock, new sfp will be added during sg removal and there is no chance for it to be picked out. So check with sg_index_lock held in sg_add_sfp(). Signed-off-by: Vaughan Cao <[email protected]> Acked-by: Douglas Gilbert <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] sg: no need sg_open_exclusive_lockVaughan Cao1-29/+5
Open exclusive check is protected by o_sem, no need sg_open_exclusive_lock. @exclude is used to record which type of rwsem we are holding. Signed-off-by: Vaughan Cao <[email protected]> Acked-by: Douglas Gilbert <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] sg: use rwsem to solve race during exclusive openVaughan Cao1-38/+41
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[SCSI] scsi_debug: fix logical block provisioning support when ↵Akinobu Mita1-2/+8
unmap_alignment != 0 Commit b90ebc3d5c41c9164ae04efd2e4f8204c2a186f1 ("[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[SCSI] scsi_debug: fix endianness bug in sdebug_build_parts()Akinobu Mita1-2/+2
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[SCSI] qla2xxx: Update the driver version to 8.06.00.08-k.Saurav Kashyap1-2/+2
Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: print MAC via %pMR.Andy Shevchenko1-4/+1
Signed-off-by: Andy Shevchenko <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Correction to message ids.Saurav Kashyap4-11/+15
Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Correctly print out/in mailbox registers.Joe Carnuccio1-15/+13
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[SCSI] qla2xxx: Add a new interface to update versions.Sawan Chandak2-3/+15
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[SCSI] qla2xxx: Move queue depth ramp down message to i/o debug level.Chad Dupuis1-1/+1
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[SCSI] qla2xxx: Select link initialization option bits from current ↵Joe Carnuccio1-1/+5
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[SCSI] qla2xxx: Add loopback IDC-TIME-EXTEND aen handling support.Santosh Vernekar4-20/+47
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[SCSI] qla2xxx: Set default critical temperature value in cases when ISPFX00 ↵Armen Baloyan2-1/+6
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[SCSI] qla2xxx: QLAFX00 make over temperature AEN handling informational, ↵Armen Baloyan2-2/+14
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[SCSI] qla2xxx: Correct Interrupt Register offset for ISPFX00Armen Baloyan1-1/+1
Signed-off-by: Armen Baloyan <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Remove handling of Shutdown Requested AEN from ↵Armen Baloyan1-4/+0
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[SCSI] qla2xxx: Send all AENs for ISPFx00 to above layers.Armen Baloyan1-2/+4
Signed-off-by: Armen Baloyan <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Add changes in initialization for ISPFX00 cards with BIOSArmen Baloyan2-0/+12
Signed-off-by: Armen Baloyan <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Add changes to support extended IOs for ISPFX00Armen Baloyan3-6/+12
Signed-off-by: Armen Baloyan <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Add missing FCP statistics to sysfs interface.Joe Carnuccio6-3/+55
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[SCSI] qla2xxx: Make log message that prints when a completion status ↵Chad Dupuis1-2/+4
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[SCSI] qla2xxx: Add critical temperature handling for ISPFX00.Armen Baloyan5-17/+104
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[SCSI] qla2xxx: Notify ISPFX00 firmware when driver is unloaded or system is ↵Armen Baloyan3-1/+9
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[SCSI] qla2xxx: Reconfigure thermal temperature.Joe Carnuccio9-41/+53
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[SCSI] qla2xxx: Add setting of driver version string for vendor application.Joe Carnuccio5-1/+119
Signed-off-by: Joe Carnuccio <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Remove QL_DEBUG_LEVEL_17 defines from qla_nx.c.Chad Dupuis2-14/+1
Signed-off-by: Chad Dupuis <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Add ISPFX00 specific bus reset routine.Armen Baloyan4-4/+30
Signed-off-by: Armen Baloyan <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Perform warm reset every 2 minutes if firmware load fails ↵Armen Baloyan1-0/+8
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[SCSI] qla2xxx: Set factory reset recovery timeout to 10 min. for ISPFX00.Armen Baloyan2-0/+4
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[SCSI] qla2xxx: Correct multiqueue offset calculations.Andrew Vasquez4-24/+18
Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla2xxx: Fix incorrect test after list_for_each_entry() exits.Joe Carnuccio1-1/+4
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[SCSI] qla2xxx: Add support for ISP8044.Atul Deshmukh18-158/+4849
[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[SCSI] qla2xxx: Print some variables to hexadecimal string via %*phN formatOleksandr Khoshaba8-181/+58
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[SCSI] mpt3sas: Remove phys on topology changeJan Vesely1-1/+4
Signed-off-by: Jan Vesely <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] mpt2sas: Remove phys on topology change.Jan Vesely1-1/+4
Signed-off-by: Jan Vesely <[email protected]> Acked-by: Sreekanth Reddy <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] bfa: firmware update to 3.2.1.1Rasesh Mody1-3/+3
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[SCSI] esas2r: ATTO Technology ExpressSAS 6G SAS/SATA RAID Adapter DriverBradley Grove19-0/+15669
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[SCSI] eata_pio: off by one in eata_pio_detect()Dan Carpenter1-1/+1
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[SCSI] qla4xxx: Update driver version to 5.04.00-k1Vikas Chaudhary1-1/+1
Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla4xxx: Return error if minidump data collection failsVikas Chaudhary1-0/+1
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[SCSI] qla4xxx: Fix the minidump data collection check in for loopSantosh Vernekar1-5/+3
Signed-off-by: Santosh Vernekar <[email protected]> Signed-off-by: Vikas Chaudhary <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2013-09-03[SCSI] qla4xxx: Add pex-dma support for capturing minidumpSantosh Vernekar4-3/+263
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[SCSI] zfcp: enable FCP hardware data router by defaultSteffen Maier1-2/+2
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[SCSI] zfcp: dead code removalMartin Peschke2-11/+0
Get rid of unused function zfcp_fsf_get_req and corresponding prototype definition. Commit a54ca0f62f953898b05549391ac2a8a4dad6482b 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[SCSI] zfcp: cleanup use of obsolete strict_strto* functionsMartin Peschke2-8/+8
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[SCSI] zfcp: consistently use appropriate SBAL flag definitionsMartin Peschke1-1/+2
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]>