01 May, 2011
35 commits
-
The SCSI midlayer stops all command processing when in error handling, which
means there is no chance for command reuse when the abort handler is called.Signed-off-by: Christoph Hellwig
Signed-off-by: James Bottomley -
The SCSI midlayer stops all command processing when in error handling, which
means there is no chance for command reuse when the abort handler is called.Signed-off-by: Christoph Hellwig
Acked-by: "Moore, Eric"
Signed-off-by: James Bottomley -
The isd200 sub-driver increments the command serial number despite not
using it at all in it's routine for sending internal scsi commands.
Remove the increment to prepare for removing the serial_number field.Signed-off-by: Christoph Hellwig
Signed-off-by: James Bottomley -
Stop using cmd->serial_number in printks.
Signed-off-by: Christoph Hellwig
Signed-off-by: James Bottomley -
Currently fcoe interface cleanup is done after ndo_fcoe_disable
and that prevents logoff going out to the peer, so this patch
moves all netdev cleanup and its releasing inside
fcoe_interface_cleanup to have log off before ndo_fcoe_disable
disables the fcoe.This patch also fixes asymmetric rtnl locking around fcoe_if_destroy,
as currently this function requires rtnl held by its caller
and then have this func drops the lock, instead now don't have
any processing under rtnl inside fcoe_if_destroy, this required
moving few func to get build working again.Signed-off-by: Vasu Dev
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
Added REC_TOV_CONST intent was to have rec tov as e_d_tov + 1s
but currently it is e_d_tov + 1ms since e_d_tov is stored in ms
unit.Also returned rec tov by get_fsp_rec_tov is in ms and this ms tov
is used as-is with fc_fcp_timer_set expecting jiffies tov.Fixed this by having get_fsp_rec_tov return rec tov in jiffies
as e_d_tov + 1s and then use jiffies tov w/ fc_fcp_timer_set.Also some cleanup, no need to cache get_fsp_rec_tov return value
in local rec_tov at various places.Signed-off-by: Vasu Dev
Tested-by: Ross Brattain
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
As ema_list is already initialized by libfc_host_alloc.
Signed-off-by: Vasu Dev
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
fix typo of '_attach' -> '_detach' in the comment.
Reported-by: Frank Zhang
Signed-off-by: Yi Zou
Tested-by: Ross Brattain
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
possible buffer overflow in fcoe_transport_show when reaching the end of
buffer and crossing PAGE_SIZE boundary.Signed-off-by: Yi Zou
Signed-off-by: Tomas Henzl
Tested-by: Ross Brattain
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
When rmmoving the underlying fcoe transport driver module by force when
it's attached and in use, the correspoding netdev mapping should be
cleaned up properly as well, otherwise the lookup for a given netdev
for the transport would still return non NULL pointer, causing "unable
to handle paging request" bug.Signed-off-by: Yi Zou
Tested-by: Ross Brattain
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
The host_lock is still used to protect the can_queue
value in the Scsi_Host, but it doesn't need to be held
and released by each caller. This patch moves the lock
usage into the fc_fcp_can_queue_ramp_up and
fc_fcp_can_queue_ramp_down routines.Signed-off-by: Robert Love
Tested-by: Ross Brattain
Signed-off-by: James Bottomley -
Signed-off-by: Kirill A. Shutemov
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
The check of module state being MODULE_STATE_LIVE is no longer needed for the
individual fcoe transport driver, e.g., fcoe.ko, as sysfs entries now go to
libfcoe now, if it reaches fcoe.ko, it has to be already registered. The module
state check for libfcoe will guard the possible race condition of sysfs being
writable before module_init function is called and after module_exit.Signed-off-by: Yi Zou
Tested-by: Ross Brattain
Signed-off-by: Robert Love
Signed-off-by: James Bottomley -
These checks were initially added to avoid a lockdep
false positive when dealing with the s_active, rtnl
and fcoe_config_mutex mutexes. Recently the create,
destroy, enable and disable sysfs entries were moved
from fcoe.ko to libfcoe.ko. With this change the mutex
usage was shuffled around and the lockdep false
positive stopped happening. We can now remove these
checks.Signed-off-by: Robert Love
Tested-by: Ross Brattain
Signed-off-by: James Bottomley -
This code was incorrectly ported from fcoe.c when the
fcoe transport infrastructure was put into place. It
was originally needed in fcoe.c when dealing with
the rtnl mutex. In that code it was only needed to
avoid a lockdep false positive. In libfcoe we don't
deal with the rtnl mutex, we don't get the lockdep
false positive and therefore we don't need these
checks.Signed-off-by: Robert Love
Tested-by: Ross Brattain
Signed-off-by: James Bottomley -
Error handling code following a kmalloc should free the allocated data.
The semantic match that finds the problem is as follows:
(http://www.emn.fr/x-info/coccinelle/)//
@r exists@
local idexpression x;
statement S;
expression E;
identifier f,f1,l;
position p1,p2;
expression *ptr != NULL;
@@x@p1 = \(kmalloc\|kzalloc\|kcalloc\)(...);
...
if (x == NULL) S
}
(
x->f1 = E
|
(x->f1 == NULL || ...)
|
f(...,x->f1,...)
)
...>
(
return \(0\|\|ptr\);
|
return@p2 ...;
)@script:python@
p1 << r.p1;
p2 << r.p2;
@@print "* file: %s kmalloc %s return %s" % (p1[0].file,p1[0].line,p2[0].line)
//Signed-off-by: Julia Lawall
Acked-by: Bhanu Prakash Gollapudi
Signed-off-by: James Bottomley -
In testing it was noticed that Extended Delay after Reset flag was being set
for gscsi and volume set devices. This had a negative effect on performance
for volume sets. The fix is to only set the flag for gscsi devices.Signed-off-by: Wayne Boyer
Acked-by: Brian King
Signed-off-by: James Bottomley -
A minor change in the versioning. We'll be attaching the "-k"
in the end.Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Add the inline function qla2x00_set_port_state() so that when a fcport state
transition happens we can log the state transition if debug messages are
enabled.Signed-off-by: Chad Dupuis
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Before driver's own internal state is marked as PLOGI/PRLI
complete. This additional check closes a window seen with
dual-personality initiator/target devices where a driver's
PLOGI/PRLI request occurs within the window after the target's
PLOGI request has completed, but prior to the target's PRLI
arriving and processed by the firmware. Without this additional
check, the firmware will return port-information stating that the
port neither supports target nor initiator functions, causing the
driver to register the rport prematurely to the FC-transport
without the proper 'roles' being set.Signed-off-by: Andrew Vasquez
Signed-off-by: Giridhar Malavali
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Signed-off-by: Giridhar Malavali
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Also, change the ISP82xx code to only reset if this module_param is set
and reset is intended via the QLA82XX_DEV_NEED_RESET case.Signed-off-by: Giridhar Malavali
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
…t the error for ISP82xx.
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: Madhuranath Iyengar <Madhu.Iyengar@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de> -
If fabric device has invalid loop id (FC_NO_LOOP_ID) then call
qla2x00_find_new_loop_id() to attempt to obtain valid loop id.Signed-off-by: Joe Carnuccio
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
For certain failures, try to recover first by doing FCoE context reset before
attempting big hammer approach(adpater reset).Signed-off-by: Giridhar Malavali
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
The stanadlone call to qla82xx_check_fw_alive() in qla82xx_watchdog()
is a typo, so remove it.Signed-off-by: Giridhar Malavali
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Signed-off-by: Giridhar Malavali
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Signed-off-by: Andrew Vasquez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Signed-off-by: Andrew Vasquez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
The upper 16-bits of the handle for all I/O in multi-queue supported
drivers carries the ID of the request queue it was submitted on. When
using Abort I/O IOCB, the driver needs to also populate the upper
16-bits in the handle_to_abort field so the fw can correlate with the
actual I/O.Signed-off-by: Mike Hernandez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
The bit is already set upon entry.
Signed-off-by: Andrew Vasquez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
Modifying qla24xx_get_fcp_prio() to return a 'found' status
allows the driver to short circuit the 'set FCP-priority' call
and reduce the amount of noise generated in the messages file:scsi(5): Unable to activate fcp priority, ret=0x102
scsi(5): Unable to activate fcp priority, ret=0x102Also make qla24xx_get_fcp_prio() static.
Signed-off-by: Andrew Vasquez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
The respective done() functions are called from process context,
so there's no reason to 'defer' the request.Signed-off-by: Andrew Vasquez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley -
To provide a clearer translation of the command-status origin in
relation to the midlayer's standard SCSI nexus.Signed-off-by: Andrew Vasquez
Signed-off-by: Madhuranath Iyengar
Signed-off-by: James Bottomley
16 Apr, 2011
5 commits
-
There was a bug in setting up type and dmsg for FW
Signed-off-by: Jayamohan Kallickal
Signed-off-by: James Bottomley -
Signed-off-by: Jayamohan Kallickal
Signed-off-by: James Bottomley -
Signed-off-by: Jayamohan Kallickal
Signed-off-by: James Bottomley -
- Modifying Maintainer's emailid to emulex as Emulex has
acquired ServerenginesSigned-off-by: Jayamohan Kallickal
Signed-off-by: James Bottomley -
- Modifying copyright year to 2011
- Replacing Serverengines with Emulex as Serverengines Corp
has been acquired by Emulex CorpSigned-off-by: Jayamohan Kallickal
Signed-off-by: James Bottomley