Age | Commit message (Collapse) | Author | Files | Lines |
|
Signed-off-by: Alan Stern <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The session lock is taken in threads, timers, and bottom halves
like softirqs and tasklets. All the code but
iscsi_conn/session_failure take the session lock with the spin_lock_bh
call. This was done because I thought some offload drivers
would be calling these functions from a irq. They never did,
so this patch has iscsi_conn/session_failure use the bh
locking.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
iscsi_tcp, ib_iser, cxgb*, be2iscsi and bnx2i do not use
the host lock and do not take the session lock against
a irq, so this patch drops the DEF_SCSI_QCMD use. Instead
we just take the session lock and disable bhs.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
If alloc_pdu fails then the task->hdr pointer may not be
set. This adds a check for this case in the cleanup callback.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The pdu allication callout is called from a spin lock
and in the IO path so we cannot use GFP_KERNEL. This
has the driver use GFP_ATOMIC.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This adds a more informative error code and message
for the iscsi scsi eh session drop paths. This allows
you to distinguish if the session was dropped due to
a connection failure vs the iscsi layer dropping
the session due to scsi eh failure processing.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Add missing call to gdth_ioctl_free before aborting.
The semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
expression buf,ha,len,addr,E;
@@
buf = gdth_ioctl_alloc(ha, len, FALSE, &addr)
... when != false buf != NULL
when != true buf == NULL
when != \(E = buf\|buf = E\)
when != gdth_ioctl_free(ha, len, buf, addr)
*return ...;
// </smpl>
Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch removes unused functions, data strucutres, and definitions. It
also includes misc comment and formatting cleanups.
Signed-off-by: Jing Huang <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch removes some inactive functions and macros.
Signed-off-by: Jing Huang <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Jing Huang <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
fails on CNAs.
The semantics we employ now in the driver, performing a
BIG_HAMMER in the event of Get-ID (0x20) mailbox command
failing, should only be done for FC. On FC configurations, it
makes sense since advertising is only really performed once,
so a BIG_HAMMER to reinitiate the process is needed to
restart. Under FCoE, this is not needed, as there's a
continous stream of advertisements/ACks at the protocol layer
to initiate a relogin/reinitialization process.
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
For driver module parameters that have permission bits set to
(S_IRUGO|S_IRUSR), remove the second term since it is already
included in the first term.
S_IRUGO comes defined as (S_IRUSR|S_IRGRP|S_IROTH).
Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Lalit Chandivade <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Swapnil Nagle <[email protected]>
Signed-off-by: Karen Higgins <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The FCP priority info was not being updated properly in certain situations.
Here are the changes that needs to be done to take care of this issue:
1. No need to check fcport->state for FCS_UNCONFIGURED in
qla24xx_update_fcport_fcp_prio(), since an invalid loop id check is
already performed which is sufficient.
2. Add the missing qla24xx_update_fcport_fcp_prio() function call
within qla2x00_update_fcport() function, so that the priority info
is updated on every port addition or change.
3. Perform proper adapter types checking.
4. Other changes, associated with DEBUG/printk's and parameter passing.
Signed-off-by: Saurav Kashyap <[email protected]>
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]>
|
|
Fixed the incorrect zero test on array new_config[].
Signed-off-by: Joe Carnuccio <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This is just a cleanup.
The unneeded NULL check annoys static checkers because we already
derefenced it and the we check it and then (if it's not the _safe()
version) we dereference it again without checking. And the static
checker is all, "Wah? Is it null or not?"
Signed-off-by: Dan Carpenter <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Support is added for quiescence mode. This feature is for P3P
adapters. Any of the functions can put the firmware into quiescence
state. All the others have to ack that request. During quiescence mode
current commands are processed and all the new incoming I/Os are
blocked. Loop resync is performed after firmware comes out of
quiescence state.
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The following patch updates the
Documentation/scsi/ChangeLog.megaraid_sas file.
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch adds MegaRAID 9265/9285 (Device id 0x5b) specific code
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The following patch adds struct megasas_instance_template changes to
the megaraid_sas driver, and changes all code to use the new instance
entries:
irqreturn_t (*service_isr )(int irq, void *devp);
void (*tasklet)(unsigned long);
u32 (*init_adapter)(struct megasas_instance *);
u32 (*build_and_issue_cmd) (struct megasas_instance *, struct scsi_cmnd *);
void (*issue_dcmd) (struct megasas_instance *instance,
struct megasas_cmd *cmd);
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The following patch modifies the megaraid_sas driver to select the
lowest memory bar available so the driver will work in SR-IOV VF
environments where the memory bar mapping changes.
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch adds MSI-X support and 'msix_disable' module parameter to
the megaraid_sas driver.
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Modify allocation to try the minimum possible page order allowed by the HBA
scatter/gather segment limit in allocation of the driver's internal
buffer. This increases the probability of successful allocation. The
allocation may still fail if this minimum order is > 0.
Signed-off-by: FUJITA Tomonori <[email protected]>
Signed-off-by: Kai Makisara <[email protected]>
Reported-by: Lukas Kolbe <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The order of the pages allocated for the driver buffer must be stored before
allocation because it is used in freeing already allocated pages if
allocation fails.
Signed-off-by: Kai Makisara <[email protected]>
Reported-by: Lukas Kolbe <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
set resid to the requested data-in length when a MEDIUM ERROR is
simulated. This implies no valid data is returned in the data-in
buffer
Signed-off-by: Douglas Gilbert <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
corruption
Our current handling of medium error assumes that data is returned up
to the bad sector. This assumption holds good for all disk devices,
all DIF arrays and most ordinary arrays. However, an LSI array engine
was recently discovered which reports a medium error without returning
any data. This means that when we report good data up to the medium
error, we've reported junk originally in the buffer as good. Worse,
if the read consists of requested data plus a readahead, and the error
occurs in readahead, we'll just strip off the readahead and report
junk up to userspace as good data with no error.
The fix for this is to have the error position computation take into
account the amount of data returned by the driver using the scsi
residual data. Unfortunately, not every driver fills in this data,
but for those who don't, it's set to zero, which means we'll think a
full set of data was transferred and the behaviour will be identical
to the prior behaviour of the code (believe the buffer up to the error
sector). All modern drivers seem to set the residual, so that should
fix up the LSI failure/corruption case.
Reported-by: Douglas Gilbert <[email protected]>
Cc: Stable Tree <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch adds a handful of missing CDBs defs that are used by TCM
persistent reservation logic in the SPC-4 defined CDB exclusion table for
registrations and reservations.
This includes a number of missing MI_* and MO_* prefixed service actions defs
for MAINTENANCE_IN and MAINTENANCE_OUT that are mentioned wrt to persistent
registration and reservation status for the SCSI Initiator Port.
Signed-off-by: Nicholas A. Bellinger <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch updates the GPL headers in megaraid_sas_base.c and megaraid_sas.h.
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This patch renames megaraid_sas.c to megaraid_sas_base.c to facilitate
other files in the compile.
Signed-off-by: Adam Radford <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
It seems that zero should be returned if scsi_target_is_busy(starget) is
true, no matter if sdev is on the starved list.
Signed-off-by: Hillf Danton <[email protected]>
Reviewed-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Currently, when scsi_dh_activate() returns with an error
(e.g. SCSI_DH_NOSYS) the activate_complete callback is not called and
the error is not propagated to DM mpath.
When a SCSI device attached to a device handler is deleted, userland
processes currently performing I/O on the device will have their I/O
hang forever.
- Set SCSI_DH_NOSYS error when the handler is in the process of being
deleted (e.g. the SCSI device is in a SDEV_CANCEL or SDEV_DEL state).
- Set SCSI_DH_DEV_OFFLINED error when device is in SDEV_OFFLINE state.
- Call the activate_complete callback function directly from
scsi_dh_activate if an error has been set (when either the scsi_dh
internal data has already been deleted or is in the process of being
deleted).
The patch was tested in an iSCSI environment, RDAC H/W handler and
multipath. In the following reproduction process, dd will I/O hang
forever and the only way to release it will be to reboot the machine:
1) Perform I/O on a multipath device:
dd if=/dev/dm-0 of=/dev/zero bs=8k count=1000000 &
2) Delete all slave SCSI devices contained in the mpath device:
I) In an iSCSI environment, the easiest way to do this is by
stopping iSCSI:
/etc/init.d/iscsi stop
II) Another way to delete the devices is by applying the following
bash scriptlet:
dm_devs=$(ls /sys/block/ | grep dm- | xargs)
for dm_dev in $dm_devs; do
devices=$(ls /sys/block/$dm_dev/slaves)
for device in $devices; do
echo 1 > /sys/block/$device/device/delete
done
done
NOTE: when DM mpath's fail_path uses blk_abort_queue this scsi_dh change
isn't strictly required. However, DM mpath's call to blk_abort_queue
will soon be reverted because it has proven to be unsafe due to a race
(between blk_abort_queue and scsi_request_fn) that can lead to list
corruption. Therefore we cannot rely on blk_abort_queue via fail_path,
but even if we could this scsi_dh change is still preferrable.
Signed-off-by: Menny Hamburger <[email protected]>
Signed-off-by: Mike Snitzer <[email protected]>
Reviewed-by: Babu Moger <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Otherwise, after doing a RAID level migration, the disk will be
disruptively removed and re-added as a different disk on rescan.
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The firmware may have been updated, in which case, it's the same device,
and in that case, we do not want to remove and add the device, we want to
let it continue as is.
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Updated commands used for ELS to utilize VPI
Allocate RPI at node creation time and pass in ELS commnads.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Implement new SLI4 init procedures based on if_type:
- Add structure changes for new SLIPORT registers and BAR changes.
- Update register names to be consistent with inteface spec terms.
- Added union to encapsulate Hardward error registers.
- Rework lpfc_sli4_post_status_check() around SLI-4's SLI_INTF type
- Removed the lpfc_sli4_fw_cfg_check routine
- Segmented driver logic to include evaluation of the if_type to
engage different behaviors.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Implement the FC and SLI async event handlers:
- Updated MQ_CREATE_EXT mailbox structure to include fc and SLI async events.
- Added the SLI trailer code.
- Split physical field into type and number to reflect latest SLI spec.
- Changed lpfc_acqe_fcoe to lpfc_acqe_fip to reflect latest Spec changes.
- Added lpfc_acqe_fc_la structure for FC link attention async events.
- Added lpfc_acqe_sli structure for sli async events.
- Added lpfc_sli4_async_fc_evt routine to handle fc la async events.
- Added lpfc_sli4_async_sli routine to handle sli async events.
- Moved LPFC_TRAILER_CODE_FC to be handled by its own handler function.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
- Use for iocbq->context1 to hold the ndlp pointer.
- Set ndlp in all iocbs generated from ioctl functions.
- Turn parity and serr bits back on after performing sli4 board reset.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Krishna Gudipati <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Fix iotag handling:
1) Update and check io tag for retry case.
2) Clearing upper 3 bits in io tag when an IO completes.
The 3 upper bits in io tags are used for counting FCP exchange retry.
Un-cleared bits will cause firmware to access invalid memory when the
same io tag is used for an IO to a target that doesn't support FCP
exchange retry.
3) Only check the effective bits when validating an iotag.
Other minor fixes:
1) Added trace to get FC header type with assert of unhandled packet received.
Ignore the type FC_TYPE_FC_FSS (FC_XS).
2) Fixed the adapter info display check - to check for fcmode flag even.
Signed-off-by: Krishna Gudipati <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
- Direct attach is not working due to the check of PID in fcxp_send request.
- Added logic to set the lps->lp_pid with the PID assigned for n2n mode.
Signed-off-by: Krishna Gudipati <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
- Made IOC auto_recovery synchronized and not timer based.
- Only one PCI function will attempt to recover and reinitialize
the ASIC on a failure, after all the active PCI fns
acknowledge the IOC failure.
Signed-off-by: Krishna Gudipati <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
When the bfa driver is loaded a flogi is sent without the knowledge of
trunking configuration. This normal flogi causes the switch ports
which had trunking enabled to go to persistent offline. Solution is
to store the port configuration (which has trunking info) in the flash
for persistency. The firmware will read this configuration when the
very first fcport enable is received.
Signed-off-by: Krishna Gudipati <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|