aboutsummaryrefslogtreecommitdiff
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-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. Cameron2-0/+53
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-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. Petersen2-4/+25
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-14[SCSI] target: Fix volume size misreporting for volumes > 2TBNicholas Bellinger1-1/+7
the target infrastructure fails to send the correct conventional size to READ_CAPACITY that force a retry with READ_CAPACITY_16, which reads the capacity for devices > 2TB. Fix by adding the correct return to trigger RC(16). Reported-by: Ben Jarvis <[email protected]> Signed-off-by: Signed-off-by: Nicholas A. Bellinger <[email protected]> Cc: [email protected] Signed-off-by: James Bottomley <[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 Gollapudi2-6/+6
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] libfc: introduce __fc_fill_fc_hdr that accepts fc_hdr as an argumentBhanu Prakash Gollapudi1-9/+17
fc_fill_fc_hdr() expects fc_frame as an argument. Introduce __fc_fill_fc_hdr to accept fc_frame_header as an argument. 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 radford3-4/+28
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]>
2011-02-28[SCSI] lpfc: force retry in queuecommand when port is transitioningMike Christie1-1/+1
If the port takes a while to transition we could exhaust the retries when using DID_TRANSPORT_DISRUPTED. For this case we do not want to use any of the cmd's retries, because if the command was running then when it got failed the retry counter was already incremented. And if this is the first time we are seeing the command, (it got queued because it slipped through during the race) then it should not have its retries incremented. The fc class will decide the correct handling later. Signed-off-by: Mike Christie <[email protected]> Acked-by: James Smart <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Update version number to 8.03.07.00Madhuranath Iyengar1-2/+2
We'll be using the new version number scheme from now on. The 'k' in the version in the past will be removed. The format will be: <major>.<minor>.<sub_minor>.<iter> A scsi-misc submission increments <sub_minor> and resets <iter>. An scsi-rc-fixes submission, increments <iter>. Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Check return value of fc_block_scsi_eh()Andrew Vasquez1-9/+20
The fc_block_scsi_eh() might return with status FAST_IO_FAIL indicating I/O has been terminated due to fast_io_fail timeout. In this case the rport is still blocked, so any error recovery will be failing on this port. Hence we need to check if the return value from fc_block_scsi_eh() is something other than 0, in which case it should just return with that status. Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: The ISP82XX should be online while waiting for commands ↵Saurav Kashyap1-3/+16
completion. If adapter is not online, the driver will not process the response queue, even on getting an interrupt. Signed-off-by: Saurav Kashyap <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Propagate block-layer tags on submitted I/Os.Andrew Vasquez2-2/+82
Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Adjust FCP_RSP response-info field check after TMF completion.Andrew Vasquez1-16/+13
Based on reading of the FCP2/4 specification, the driver cannot expect the storage device to send FCP_RSP information. Instead, the driver should interpret the data which is present in the frame to base decisions on the success or failure of the system. Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Clear any stale login-states during an adapter reset.Andrew Vasquez1-0/+17
By not clearing the 'login needed' nor 'login outstanding' states for an fcport after a big-hammer (adapter reset), the driver may not properly perform a PLOGI/PRLI sequence (and lose visibility to the rport) during a follow-on SNS scan. Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Pass right CT command string for CT status processing.Andrew Vasquez1-1/+1
Signed-off-by: Andrew Vasquez <[email protected]> Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Don't wait for active mailbox command completion when ↵Giridhar Malavali1-7/+7
firmware is hung. Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Abort pending commands for faster recovery during ISP reset.Giridhar Malavali6-61/+125
Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Display nport_id when any SNS command fails.Giridhar Malavali1-6/+13
Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Reinitialize the device initialize timeout value after reset ↵Giridhar Malavali1-0/+2
on ISP82xx. Signed-off-by: Giridhar Malavali <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Fix array subscript is above array bounds in ↵Chad Dupuis1-1/+1
qla2xx_build_scsi_type_6_iocbs(). The additional increment of dsd_seg was causing the compiler to throw an array out of bounds warning. This patch moves to a direct assignment of cmd_pkt->fcp_data_dseg_len so that the compiler doesn't generate an array out bounds warning. Signed-off-by: Chad Dupuis <[email protected]> Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] qla2xxx: Remove host_lock in queuecommand functionMadhuranath Iyengar1-16/+6
Also in qla_os.c, rename the function, remove DEF_SCSI_QCMD, etc. Signed-off-by: Madhuranath Iyengar <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] zfcp: Add information to symbolic port name when running in NPIV modeChristof Schmitt7-0/+169
Query the FC symbolic port name for reporting in the fc_host sysfs and enable the symbolic_name attribute in the fc_host sysfs. When running in NPIV mode, extend the symbolic port name with the devno and the hostname. This allows better identification of Linux systems for SAN and storage administrators. Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: Steffen Maier <[email protected]> Signed-off-by: James Bottomley <[email protected]>
2011-02-25[SCSI] fc: Add GSPN_ID request to header fileChristof Schmitt1-1/+10
Add request code and corresponding structs for "Get Symbolic Port Name" (GSPN_ID) request. Signed-off-by: Christof Schmitt <[email protected]> Signed-off-by: Steffen Maier <[email protected]> Signed-off-by: James Bottomley <[email protected]>