aboutsummaryrefslogtreecommitdiff
path: root/drivers/scsi
AgeCommit message (Collapse)AuthorFilesLines
2011-03-14[SCSI] scsi_dh_rdac: Add MD36xxf into device list[email protected]1-0/+1
This patch is to add Dell MD36xxf array into the RDAC handler device list. Singed-off-by: Yanqing Liu <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-14[SCSI] scsi_debug: add consecutive medium errorsDouglas Gilbert1-4/+5
A useful test case for error recovery is multiple, consecutive medium errors. When scsi_debug is started with "opts=2" a MEDIUM ERROR is generated when block 0x1234 (4660) is read. The patch extends that to 10 consecutive blocks from 0x1234 (i.e. blocks 4660 to 4669 inclusive). [0:0:0:0] disk ATA INTEL SSD 2CV1 /dev/sda /dev/sg0 80.0GB [10:0:0:0] disk Linux scsi_debug 0004 /dev/sdb /dev/sg1 1.09TB Output file not specified so no copy, just reading input >> unrecovered read error at blk=4660, substitute zeros ... >> unrecovered read error at blk=4669, substitute zeros 4670+10 records in 0+0 records out 10 unrecovered read errors lowest unrecovered read lba=4660, highest unrecovered lba=4669 time to read data: 0.047943 secs at 49.87 MB/sec BTW Change /dev/sg1 (bsg device works just as well) to /dev/sdb to see why, with faulty media, you do not want to use the block layer interface. Reason: time block layer takes to do useless retries and collateral damage to data in its 4 KB blocks (O_DIRECT mitigates the latter). ChangeLog: - extend opts=2 medium error generation at block 0x1234 to 10 consecutive blocks (i.e. blocks 0x1234 to 0x123d). Signed-off-by: Douglas Gilbert <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-14fcoe: correct checking for bondingJiri Pirko1-3/+1
Check for bonding master and refuse to use that. Signed-off-by: Jiri Pirko <[email protected]> Acked-by: Robert Love <[email protected]> Acked-by: James Bottomley <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-14[SCSI] libsas: fix ata list corruption issueJames Bottomley1-0/+13
I think this stems from a misunderstanding of how the ata error handler works. ata_scsi_cmd_error_handler() gets called with a passed in list of commands to handle. However, that list may still not be empty when it exits. The command ata_scsi_port_error_handler() must be called (which takes no list) before the list will be completely emptied. This bites the sas error handler because the two are called from different functions and the original list has gone out of scope before ata_scsi_port_error_handler() is called. leading to some commands dangling on bare stack, which is a potential memory corruption issue. Fix this by manually deleting all outstanding commands from the on-stack list before it goes out of scope. Signed-off-by: James Bottomley <[email protected]>
2011-03-14[SCSI] hpsa: export resettable host attributeStephen M. Cameron1-0/+41
This attribute, requested by Redhat, allows kexec-tools to know whether the controller can honor the reset_devices kernel parameter and actually reset the controller. For kdump to work properly it is necessary that the reset_devices parameter be honored. This attribute enables kexec-tools to warn the user if they attempt to designate a non-resettable controller as the dump device. Signed-off-by: Stephen M. Cameron <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-15PM: Remove CONFIG_PM_OPSRafael J. Wysocki3-3/+3
After redefining CONFIG_PM to depend on (CONFIG_PM_SLEEP || CONFIG_PM_RUNTIME) the CONFIG_PM_OPS option is redundant and can be replaced with CONFIG_PM. Signed-off-by: Rafael J. Wysocki <[email protected]>
2011-03-14[SCSI] hpsa: move device attributes to avoid forward declarationsStephen M. Cameron1-133/+120
Signed-off-by: Stephen M. Cameron <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-14[SCSI] scsi_debug: Logical Block Provisioning (SBC3r26)Martin K. Petersen1-78/+105
Update scsi_debug to support the Logical Block Provisioning commands and bits as defined in SBC3r26. The old tp* parameters have been transitioned to the new lbp* scheme found in the draft standard. The old tpu option to enable UNMAP is now called lbpu. tpws to signal support for WRITE SAME(16) with the UNMAP bit set is now lbpws. Support for WRITE SAME(10) with the UNMAP bit set is also available using the lpuws10 parameter. Limiting the maximum number of blocks per WRITE SAME command has been implemented and is available via the write_same_length module parameter. As part of the renaming process the parameter lists have been sorted alphabetically (request from Doug). Signed-off-by: Martin K. Petersen <[email protected]> Acked-by: Douglas Gilbert <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-14[SCSI] sd: Logical Block Provisioning updateMartin K. Petersen3-58/+203
SBC3r26 contains many changes to the Logical Block Provisioning interfaces (formerly known as Thin Provisioning ditto). This patch implements support for both the old and new schemes using the same heuristic as before (whether the LBP VPD page is present). The new code also allows the provisioning mode (i.e. choice of command) to be overridden on a per-device basis via sysfs. Two additional modes are supported in this version: - WRITE SAME(10) with the UNMAP bit set - WRITE SAME(10) without the UNMAP bit set. This allows us to support devices that predate the TP/LBP enhancements in SBC3 and which work by way zero-detection Switching between modes has been consolidated in a helper function that also updates the block layer topology according to the limitations of the chosen command. I experimented with trying WRITE SAME(16) if UNMAP fails, WRITE SAME(10) if WRITE SAME(16) fails, etc. but found several devices that got cranky. So for now we'll disable discard if one of the commands fail. The user still has the option of selecting a different mode in sysfs. Signed-off-by: Martin K. Petersen <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-14[SCSI] Include protection operation in SCSI command traceMartin K. Petersen1-0/+1
When debugging DIF/DIX it is very helpful to be able to see which DIX operation is associated with the scsi_cmnd. Include the protection op in the SCSI command trace. Signed-off-by: Martin K. Petersen <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-14[SCSI] hpsa: fix incorrect PCI IDs and add two new ones (2nd try)[email protected]1-10/+14
My first attempt was botched, got the wrong PCI Device ID (used PCI_DEVICE_ID_HP_CISSE, should have been PCI_DEVICE_ID_HP_CISSF) Signed-off-by: Stephen M. Cameron <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-03-12ipv4: Create and use route lookup helpers.David S. Miller1-17/+3
The idea here is this minimizes the number of places one has to edit in order to make changes to how flows are defined and used. Signed-off-by: David S. Miller <[email protected]>
2011-03-10Merge branch 'for-2.6.39/stack-plug' into for-2.6.39/coreJens Axboe3-31/+21
Conflicts: block/blk-core.c block/blk-flush.c drivers/md/raid1.c drivers/md/raid10.c drivers/md/raid5.c fs/nilfs2/btnode.c fs/nilfs2/mdt.c Signed-off-by: Jens Axboe <[email protected]>
2011-03-10block: remove per-queue pluggingJens Axboe2-6/+2
Code has been converted over to the new explicit on-stack plugging, and delay users have been converted to use the new API for that. So lets kill off the old plugging along with aops->sync_page(). Signed-off-by: Jens Axboe <[email protected]>
2011-03-10scsi: convert to blk_delay_queue()Jens Axboe1-25/+19
It was always abuse to reuse the plugging infrastructure for this, convert it to the (new) real API for delaying queueing a bit. A default delay of 3 msec is defined, to match the previous behaviour. Signed-off-by: Jens Axboe <[email protected]>
2011-03-03Merge branch 'master' of ↵David S. Miller2-2/+2
master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 Conflicts: drivers/net/bnx2x/bnx2x.h
2011-03-02cxgb{3,4}*: improve Kconfig dependenciesDimitris Michailidis2-2/+6
- Remove the dependency of cxgb4 and cxgb4vf on INET. cxgb3 really depends on INET, keep it but add it directly to the driver's Kconfig entry. - Make the iSCSI drivers cxgb3i and cxgb4i available in the SCSI menu without requiring any options in the net driver menu to be enabled first. Add needed selects so the iSCSI drivers can build their corresponding net drivers. - Remove CHELSIO_T*_DEPENDS. Signed-off-by: Dimitris Michailidis <[email protected]> Acked-by: Jan Beulich <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2011-03-02ipv4: Make output route lookup return rtable directly.David S. Miller1-1/+2
Instead of on the stack. Signed-off-by: David S. Miller <[email protected]>
2011-03-02block: add @force_kblockd to __blk_run_queue()Tejun Heo2-2/+2
__blk_run_queue() automatically either calls q->request_fn() directly or schedules kblockd depending on whether the function is recursed. blk-flush implementation needs to be able to explicitly choose kblockd. Add @force_kblockd. All the current users are converted to specify %false for the parameter and this patch doesn't introduce any behavior change. stable: This is prerequisite for fixing ide oops caused by the new blk-flush implementation. Signed-off-by: Tejun Heo <[email protected]> Cc: Jan Beulich <[email protected]> Cc: James Bottomley <[email protected]> Cc: [email protected] Signed-off-by: Jens Axboe <[email protected]>
2011-03-02libata: remove ATA_FLAG_NO_LEGACYSergei Shtylyov2-3/+2
All checks of ATA_FLAG_NO_LEGACY have been removed by the commits c791c30670ea61f19eec390124128bf278e854fe ([libata] minor PCI IDE probe fixes and cleanups) and f0d36efdc624beb3d9e29b9ab9e9537bf0f25d5b (libata: update libata core layer to use devres), so I think it's time to finally get rid of this flag... Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2011-03-02libata: remove ATA_FLAG_MMIOSergei Shtylyov2-4/+3
Commit 0d5ff566779f894ca9937231a181eb31e4adff0e (libata: convert to iomap) removed all checks of ATA_FLAG_MMIO but neglected to remove the flag itself. Do it now, at last... Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2011-03-02libata: remove ATA_FLAG_{SRST|SATA_RESET}Sergei Shtylyov2-4/+4
These flags are marked as obsolete and the checks for them have been removed by commit 294440887b32c58d220fb54b73b7a58079b78f20 (libata-sff: kill unused ata_bus_reset()), so I think it's time to finally get rid of them... Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2011-03-02ipr/sas_ata: use mode mask macros from <linux/ata.h>Sergei Shtylyov2-5/+5
Commit 14bdef982caeda19afe34010482867c18217c641 ([libata] convert drivers to use ata.h mode mask defines) didn't convert these two libata driver outside drivers/ata/... Signed-off-by: Sergei Shtylyov <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2011-03-02libsas: convert to libata new error handlerJames Bottomley2-8/+93
The conversion is quite complex given that the libata new error handler has to be hooked into the current libsas timeout and error handling. The way this is done is to process all the failed commands via libsas first, but if they have no underlying sas task (and they're on a sata device) assume they are destined for the libata error handler and send them accordingly. Finally, activate the port recovery of the libata error handler for each port known to the host. This is somewhat suboptimal, since that port may not need recovering, but given the current architecture of the libata error handler, it's the only way; and the spurious activation is harmless. Signed-off-by: James Bottomley <[email protected]> Signed-off-by: Jeff Garzik <[email protected]>
2011-03-02drivers: remove extraneous includes of smp_lock.hArnd Bergmann2-2/+0
These were missed the last time I cleaned this up globally, because of code moving around or new code getting merged. Signed-off-by: Arnd Bergmann <[email protected]>
2011-03-01ipv4: Kill can_sleep arg to ip_route_output_flow()David S. Miller1-1/+1
This boolean state is now available in the flow flags. Signed-off-by: David S. Miller <[email protected]>
2011-03-01ipv4: Make final arg to ip_route_output_flow to be boolean "can_sleep"David S. Miller1-1/+1
Since that is what the current vague "flags" argument means. Signed-off-by: David S. Miller <[email protected]>
2011-02-28[SCSI] bnx2fc: Broadcom FCoE offload driverBhanu Gollapudi13-0/+9478
This driver is for Broadcom Netxtreme II 57712 chip. The following patch contains the driver sources for bnx2fc driver. libfc/libfcoe changes to enable bnx2fc have already gone through the fcoe tree. bnx2fc is a SCSI low level driver that interfaces with SCSI midlayer, libfc, libfcoe, cnic modules. bnx2fc driver uses services of libfc for slow path operations such as FIP and fabric discovery. The fast path IO perations are performed after offloading the session information to the underlying FCoE firmware. Signed-off-by: Bhanu Prakash Gollapudi <[email protected]> Reviewed-by: Mike Christie <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] fcoe: fix broken fcoe interface resetVasu Dev1-1/+7
Reset using "fcoeadm -r" also needs to restart FIP before doing libfc lport reset, this is needed for new switch firmware requiring FIP solicitation before doing FLOGI again during reset. So this patch does this by doing fcoe_ctlr_link_down and then fcoe_ctlr_link_up to reset the interface. The fcoe_ctlr_link_down call path also does lport reset and then fcoe_ctlr_link_up re-starts the fabric login after doing FIP solicitation first to get reset feature working again. Signed-off-by: Vasu Dev <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] fcoe: precedence bug in fcoe_filter_frames()Dan Carpenter1-1/+1
Negate has higher precedence than bitwise AND. FCPHF_CRC_UNCHECKED is 0x1 so the original code is equivalent to: if (!fr_flags(fp)) { ... Signed-off-by: Dan Carpenter <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] libfcoe: Remove stale fcoe-netdev entriesBhanu Prakash Gollapudi1-1/+45
When L2 driver is unloaded, libfcoe_destroy tries to access the fcoe transport structure matching the netdev. However, since the netdev is unregistered by that time, it fails to do so. Hence the stale mappings exists in the fcoe-netdev list. Handle NETDEV_UREGISTER device notification mechanism to remove the stale fcoe-netdev mapping. Signed-off-by: Bhanu Prakash Gollapudi <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] libfcoe: Move FCOE_MTU definition from fcoe.h to libfcoe.hBhanu Prakash Gollapudi1-6/+0
both fcoe and bnx2fc drivers can access the common definition of FCOE_MTU. Signed-off-by: Bhanu Prakash Gollapudi <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] fcoe, libfc: initialize EM anchors list and then update npiv EMsVasu Dev4-32/+29
EM anchors list initialization for only master port was not enough to keep npiv working as described here:- https://lists.open-fcoe.org/pipermail/devel/2011-January/011063.html So this patch moves fc_exch_mgr_list_clone to update npiv ports EMs once EM anchors list initialized. Also some cleanup, no need to set lport = NULL as that always get initialized later. Signed-off-by: Vasu Dev <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] Revert "[SCSI] libfc: fix exchange being deleted when the abort ↵Parikh, Neerav1-5/+2
itself is timed out" When abort for an exchange timed out it didn't release the reference to the exchange resulting in a memory leak. After discussion with the author of the patch (CC) that introduced this bug it was suggested to revert that patch. This reverts commit ea3e2e72eeb3e8a9440a5da965914f9b12088626. Signed-off by: Neerav Parikh <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] libfc: Fixing a memory leak when destroying an interfaceParikh, Neerav1-0/+1
When an fcoe interface is being destroyed; in the process the fcoe driver will try to release all the resources it had allocated for that interface including rports. But, it seems that it does not release the reference held for the name server rport in that process resulting into a memory leak. This patch fixes that memory leak. Signed-off-by: Neerav Parikh <[email protected]> Tested-by: Ross Brattain <[email protected]> Signed-off-by: Robert Love <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Version and Changelog updateadam radford2-4/+5
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix iMR OCR support to work correctlyadam radford1-25/+37
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix max_sectors for IEEE SGLadam radford2-0/+5
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix fault state handlingadam radford1-1/+3
The following patch for megaraid_sas fixes fault state handling in megasas_transition_to_ready(). Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix tasklet_init calladam radford1-1/+1
The following patch fixes an incorrect tasklet_init() call in megasas_init_fw() to use instancet->tasklet. Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Add CFG_CLEARED AENadam radford1-0/+1
The following patch for megaraid_sas adds a missing check for MR_EVT_CFG_CLEARED in megasas_aen_polling(). Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix megasas_build_dcdb_fusion to use correct LUN fieldadam radford1-2/+2
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix megasas_build_dcdb_fusion to not filter by TYPE_DISKadam radford1-2/+1
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix probe_one to clear MSI-X flags in kdumpadam radford2-1/+21
The following patch for megaraid_sas fixes megasas_probe_one() to clear MSI-X flags in kdump when the 'reset_devices' kernel parameter is passed in. Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Call tasklet_schedule for MSI-Xadam radford1-1/+3
The following patch for megaraid_sas calls tasklet_schedule() even if outbound_intr_status == 0 for MFI based boards in MSI-X mode. Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Enable MSI-X before calling megasas_init_fwadam radford1-12/+12
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Add missing check_and_restore_queue_depth calladam radford1-1/+5
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] megaraid_sas: Fix failure gotosadam radford2-11/+12
Signed-off-by: Adam Radford <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] libsas: fix loopback topology bug during discoveryjack_wang1-0/+5
In some test envirenment, there is loopback topology test. We should handle this during discovery. Signed-off-by: Jack Wang <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-28[SCSI] lpfc: block target when port queueing limit is hitMike Christie1-1/+4
Instead of blocking the entire host when the port's queueing limit is hit, we should only block the port's target. This will allow IO to other ports to execute. Signed-off-by: Mike Christie <[email protected]> Acked-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>