On 01/12/2015 06:31 PM, Tyrel Datwyler wrote:
Change maintainer of ibmvscsi driver to Tyrel Datwyler.
Signed-off-by: Tyrel Datwyler tyr...@linux.vnet.ibm.com
Cc: Nathan Fontenot nf...@linux.vnet.ibm.com
Cc: Brian King brk...@linux.vnet.ibm.com
Acked-by: Nathan Fontenot
On Wed, Jan 14 2015 at 4:16am -0500,
Bart Van Assche bart.vanass...@sandisk.com wrote:
On 01/13/15 17:21, Mike Snitzer wrote:
OK, I assume you specified the mpath device for the test that failed.
Yes, of course ...
This test works fine on my 100MB scsi_debug device with 4 paths
From: Ewan D. Milne emi...@redhat.com
This can happen if a multipathed device uses DIX and another path is
added via an adapter that does not support it. Multipath should not
allow this path to be added, but we should not depend upon that to avoid
crashing.
Signed-off-by: Ewan D. Milne
From: Webb Scales web...@hp.com
Encapsulate the conditional predicate which tests for legacy controllers
in a separate function and rework the code comments.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Webb Scales web...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
From: Robert Elliott elli...@hp.com
The queue depth printed at startup is in decimal, so
shouldn't have a 0x prefix.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |2 +-
1 file
From: Robert Elliott elli...@hp.com
Return the real reason for kdump_hard_reset failure rather
than change them all to -ENODEV.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |5
Change how SA controllers are reset by changing PCI power levels.
The hpsa driver was finding the PCI_PM_CTRL_STATE_MASK offset
then reading/writing a bitmask to change the power state. There
are kernel functions that do the same operations. Better to use
the kernel functions.
Signed-off-by: Don
scsi_adjust_queue_depth was changed to scsi_change_queue_depth
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 16 +++-
1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/hpsa.c
From: Robert Elliott elli...@hp.com
HP now uses RAID-6 rather than RAID-ADG (Advanced Data Guarding)
as the marketing name for our implementation of RAID-6.
The driver considers RAID-1 and RAID-1+0 to be the same level, and
considers RAID-1ADM and RAID-1+0ADM to be the same level. Parenthesis
From: Robert Elliott elli...@hp.com
If the board ID lookup function fails, return the return
code rather than return -ENODEV.
The only board ID failure reason right now is -ENODEV,
so this just provides more informative prints in kdump
and adapts to future changes.
Tested with error injection
From: Robert Elliott elli...@hp.com
There is nothing worrisome about the Waiting for controller to
respond to no-op print, so use dev_info rather than dev_warn.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
From: Robert Elliott elli...@hp.com
In MSI and MSI-X mode, where hpsa asks for more than one interrupt,
hpsa_request_irqs forgets if the first request_irq call failed
if later ones succeed.
It needs to exit the loop on any failure rather than continue,
freeing all irqs that were requested until
Correct endiness issues reported by sparse. SA controllers are
little endian. This patch ensures endiness correctness.
Signed-off-by: Don Brace don.br...@pmcs.com
Reviewed-by: Scott Teel scott.t...@pmcs.com
Reviewed-by: Webb Scales web...@hp.com
---
drivers/scsi/hpsa.c | 275
From: Tomas Henzl the...@redhat.com
There is a potential memory leak in hpsa_kdump_hard_reset_controller.
Reviewed-by: Don Brace don.br...@pmcs.com
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Tomas Henzl the...@redhat.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
This patch set is based on Linus's tree.
The changes are:
- correct sparse warnings
- correct memory leaks
- correct kdump issues
- correct queue depth updates
- cleanup function return values
- cleanup and enhance messages
- cleanup and enhance error handling
- minor code refactoring
-
From: Tomas Henzl the...@redhat.com
Sometimes when the card is restarted it may cause -
irq 16: nobody cared (try booting with the irqpoll option)
that is likely caused so, that the card, after the hard reset
finishes, pulls on the irq. Disabling the ints before or after
the
From: Robert Elliott elli...@hp.com
Change the function names to have hpsa prefix.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 43 ++-
1
From: Stephen Cameron stephenmcame...@gmail.com
Cleanup comments to be more specific. Make messages more
informational.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 21
From: Robert Elliott elli...@hp.com
Make the function name more descriptive. We use more than
one interrupt.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 11 ++-
1 file
From: Fabian Frederick f...@skynet.be
Remove unused variable in hpsa_free_cmd_pool.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Fabian Frederick f...@skynet.be
Acked-by: Don Brace don.br...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |4 ++--
From: Robert Elliott elli...@hp.com
Partial allocation failure wasn't handled correctly
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |6 +-
1 file changed, 5 insertions(+), 1
From: Robert Elliott elli...@hp.com
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |8 ++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/scsi/hpsa.c
From: Robert Elliott elli...@hp.com
Enhance error reporting.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git
From: Robert Elliott elli...@hp.com
Return the actual error code instead of a generic error code.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Robert Elliott elli...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |2 +-
1 file changed, 1
On Wed, 2015-01-14 at 11:05 +0100, Bart Van Assche wrote:
The LIO and SCST SCSI target subsystems consist of the following components:
* A core that processes SCSI commands and that provides common
functionality like persistent reservations, LUN masking and an interface
that allows
From: Robert Elliott elli...@hp.com
Detect failues when attempting to change controller to use simple
or performant transport modes (mode change ack) rather than just
proceeding ahead after timeouts.
Return values are added to:
hpsa_put_ctlr_into_performant_mode
Add in gen9 controller model names
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 26 +-
1 file changed, 13 insertions(+), 13 deletions(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index
From: Robert Elliott elli...@hp.com
Shorten the wait for the CISS configuration table doorbell mode
change acknowledgment from 300-600 s to 20 s, which is the value
specified in the CISS specification that should be honored by
all controllers.
Wait using interruptible msleep() rather than
From: Webb Scales web...@hp.com
Move the code which sets up the SG descriptor out of hpsa_scatter_gather()
and into a subroutine where it can be reused (in the next patch). The Ext
field is now assigned unconditionally: this makes the refactor much simpler,
but more importantly it removes a
Add in P840ar model name for gen9
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/hpsa.c b/drivers/scsi/hpsa.c
index 6568da5..15ef65c 100644
---
From: Stephen Cameron stephenmcame...@gmail.com
Performance tweak, avoid unnecessary function calls.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |8 +---
drivers/scsi/hpsa.h |5 +
2 files changed, 6
On 1/14/15, 2:05 AM, Bart Van Assche bart.vanass...@sandisk.com wrote:
The LIO and SCST SCSI target subsystems consist of the following
components:
* A core that processes SCSI commands and that provides common
functionality like persistent reservations, LUN masking and an interface
that allows
Ewan == Ewan D Milne emi...@redhat.com writes:
Ewan This can happen if a multipathed device uses DIX and another path
Ewan is added via an adapter that does not support it. Multipath
Ewan should not allow this path to be added,
No it shouldn't :)
diff --git a/drivers/scsi/scsi_lib.c
From: Webb Scales web...@hp.com
There is a possibility of deadlock if we use the system work queue
for command resubmission since something in the queue may be depending
on the I/O that gets resubmitted, and the resubmitted I/O will be
behind the thing that depends on it in the queue. Using a
By not doing maintaining a list of queued commands, we can eliminate some spin
locking in the main i/o path and gain significant improvement in IOPS. Remove
the queuing code and the code that calls it; remove now-unused interrupt code;
remove DIRECT_LOOKUP_BIT.
Now that the passthru commands
When using the ioaccel submission methods, requests destined for RAID volumes
are sometimes diverted to physical devices. The OS has no or limited
knowledge of these physical devices, so it is up to the driver to avoid
pushing the device too hard. It is better to honor the physical device queue
From: Stephen Cameron stephenmcame...@gmail.com
The original reasoning behind doing this was faulty. An error
of some sort would be encountered, accelerated i/o would be
disabled for that logical drive, the command would be kicked
back out to the SCSI midlayer for a retry, and since i/o
From: Stephen Cameron stephenmcame...@gmail.com
We have commands reserved for internal use.
This is laying the groundwork for removing the internal
queue of commands from the driver so that the locks that
protect that queue may be removed.
Reviewed-by: Scott Teel scott.t...@pmcs.com
From: Stephen Cameron stephenmcame...@gmail.com
We need to reserve some commands for device rescans,
aborts, and the pass through ioctls, etc. so we cannot
give them all to the scsi mid layer.
This is in preparation for removing cmd_special_alloc and
cmd_special_free so that we can stop queuing
Instead of kicking the commands all the way back to the mid
layer, use a work queue. This enables having a mechanism for
the driver to be able to resubmit the commands down the normal
raid path without turning off the ioaccel feature entirely
whenever an error is encountered on the ioaccel path,
From: Stephen Cameron stephenmcame...@gmail.com
Factor out the bottom part of the queuecommand function
which is the part that builds commands for submitting down
the normal' RAID stack path of a Smart Array.
Need to factor this out to improve how commands that
were initially sent down one of
From: Stephen Cameron stephenmcame...@gmail.com
No need to check whether interrupt pending for MSI(X) and
conversely, no need to check whether MSI(X) interrupts are
being used when checking if interrupts are pending.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace
From: Robert Elliott elli...@hp.com
Empirically, this improves performance slightly (~2% max IOPS) by
allowing cmd_alloc to remember where it left off searching for
free commands between calls instead of always starting its search
at command 0.
Reviewed-by: Scott Teel scott.t...@pmcs.com
From: Robert Elliott elli...@hp.com
If hpsa_allocate_cmd_pool failed, we were calling two functions unnecessarily:
hpsa_free_sg_chain_blocks(h);
hpsa_free_cmd_pool(h);
This didn't cause any problem, as those functions can tolerate being called
when what they free hasn't been allocated
From: Webb Scales web...@hp.com
This means changing the allocator to reference count commands.
The reference count is now the authoritative indicator of whether a
command is allocated or not. The h-cmd_pool_bits bitmap is now
only a heuristic hint to speed up the allocation process, it is no
From: Stephen Cameron stephenmcame...@gmail.com
In the code that translates logical drive LBAs to physical
drive LBAs if we overflow the raid map disk data array we
will get the wrong answers. We do not expect that to happen,
but best to be on the safe side and guard against it anyway.
From: Stephen Cameron stephenmcame...@gmail.com
There's no reason for it to be a void *, it should be a struct scsi_cmnd *
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c |6 +++---
drivers/scsi/hpsa_cmd.h |2 +-
2
From: Stephen Cameron stephenmcame...@gmail.com
Printing the address of the command pointer is of little value, change
to print the CDB.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 29 -
1 file
From: Stephen Cameron stephenmcame...@gmail.com
Command allocation is the thing that takes the longest in the main i/o
path, so check for controller lockup immediately after this to prevent
submitting commands to locked up controller as much as possible.
Reviewed-by: Scott Teel
From: Stephen Cameron stephenmcame...@gmail.com
Acking controller events on controllers that do not support
it can cause such controllers to lock up.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Joe Handzik joseph.t.hand...@hp.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
From: Stephen Cameron stephenmcame...@gmail.com
In set_encrypt_ioaccel2() and in hpsa_scsi_ioaccel_raid_map
there were BUG_ONs that looked like this:
BUG_ON(!(dev-offload_config dev-offload_enabled));
But, In hpsa_ack_ctlr_events() we have this,
/* Stop sending new RAID
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.h |8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/hpsa.h b/drivers/scsi/hpsa.h
index 1856445..aa6cb0b 100644
--- a/drivers/scsi/hpsa.h
+++
Performance enhancement. Remove spin_locks from the driver.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Signed-off-by: Don Brace don.br...@pmcs.com
---
drivers/scsi/hpsa.c | 39 +--
drivers/scsi/hpsa.h |3 +--
2 files changed, 6 insertions(+), 36
Returning failed from the device reset handler will get the device
kicked offline, which is fine if the controller is locked up anyhow.
Cannot abort a command from a failed controller.
Reviewed-by: Scott Teel scott.t...@pmcs.com
Reviewed-by: Justin Lindley justin.lind...@pmcs.com
Signed-off-by:
On Wed, 14 Jan 2015, Christoph Hellwig wrote:
On Mon, Jan 12, 2015 at 11:29:15AM -0500, Alan Stern wrote:
This seems like a good idea and the obvious (once it has been pointed
out!) approach.
Perhaps not directly related to the issue at hand is this question: In
scsi_rescan_device()
On Wed, 2015-01-14 at 10:36 +0100, h...@lst.de wrote:
On Tue, Jan 13, 2015 at 06:56:17PM +, James Bottomley wrote:
I really hate using an on-stack buffer here ... we're pretty deep in the
call chain already.
Since it's just required for printing a command: prefix, why not just
use
On Wed, 2015-01-14 at 01:40 -0800, Christoph Hellwig wrote:
On Tue, Jan 13, 2015 at 05:30:20PM +, James Bottomley wrote:
Just for everyone's sake the problem is printk format strings (and all
the things that indirect there, like pr_xxx and dev_printk). We must
never pass a mutable
The second argument passed to qla27xx_write_reg() is a byte offset.
This means that this function must read data from (void *)reg + offset
instead of (void *)reg + sizeof(*reg) * offset. Found this via source
reading. Untested.
---
drivers/scsi/qla2xxx/qla_tmpl.c | 2 +-
1 file changed, 1
Some devices might not implement config space access
(e.g. remoteproc used not to - before 3.9).
virtio/scsi needs config space access so make it
fail gracefully if not there.
Signed-off-by: Michael S. Tsirkin m...@redhat.com
---
drivers/scsi/virtio_scsi.c | 6 ++
1 file changed, 6
On 01/13/15 17:21, Mike Snitzer wrote:
OK, I assume you specified the mpath device for the test that failed.
Yes, of course ...
This test works fine on my 100MB scsi_debug device with 4 paths exported
over virtio-blk to a guest that assembles the mpath device.
Could be a hang that is
On Mon, Jan 12, 2015 at 11:29:15AM -0500, Alan Stern wrote:
This seems like a good idea and the obvious (once it has been pointed
out!) approach.
Perhaps not directly related to the issue at hand is this question: In
scsi_rescan_device() we will now have:
On Tue, Jan 13, 2015 at 06:56:17PM +, James Bottomley wrote:
I really hate using an on-stack buffer here ... we're pretty deep in the
call chain already.
Since it's just required for printing a command: prefix, why not just
use scsi_print_command()?
Both the ch and sr callers are not
On Tue, Jan 13, 2015 at 05:30:20PM +, James Bottomley wrote:
Just for everyone's sake the problem is printk format strings (and all
the things that indirect there, like pr_xxx and dev_printk). We must
never pass a mutable string directly to printk because of the mayhem
that would result
-Original Message-
From: Christoph Hellwig [mailto:h...@lst.de]
Sent: Saturday, January 10, 2015 10:41 PM
To: sumit.sax...@avagotech.com; kashyap.de...@avagotech.com
Cc: martin.peter...@oracle.com; linux-scsi@vger.kernel.org
Subject: [PATCH 09/10] megaraid_sas: swap whole register in
-Original Message-
From: Christoph Hellwig [mailto:h...@lst.de]
Sent: Saturday, January 10, 2015 10:41 PM
To: sumit.sax...@avagotech.com; kashyap.de...@avagotech.com
Cc: martin.peter...@oracle.com; linux-scsi@vger.kernel.org
Subject: [PATCH 08/10] megaraid_sas: fix megasas_fire_cmd_fusion
-Original Message-
From: Christoph Hellwig [mailto:h...@lst.de]
Sent: Saturday, January 10, 2015 10:41 PM
To: sumit.sax...@avagotech.com; kashyap.de...@avagotech.com
Cc: martin.peter...@oracle.com; linux-scsi@vger.kernel.org
Subject: [PATCH 10/10] megaraid_sas: fix endianess for the crash
Recently it has been proposed to discuss how to add scsi-mq support in
the iSER initiator during the 2015 edition of the LSF/MM summit. In the
discussion that followed that proposal several questions were asked
about how scsi-mq support has been added in the SRP initiator driver,
which design
The LIO and SCST SCSI target subsystems consist of the following components:
* A core that processes SCSI commands and that provides common
functionality like persistent reservations, LUN masking and an interface
that allows configuration from user space.
* Device handlers that allow this core to
On 01/14/2015 11:05 AM, Bart Van Assche wrote:
The LIO and SCST SCSI target subsystems consist of the following components:
* A core that processes SCSI commands and that provides common
functionality like persistent reservations, LUN masking and an interface
that allows configuration from
On 01/10/15 11:10, Christoph Hellwig wrote:
scsi_to_u32 is a non-optimized reimplementation of get_unaligned_be32,
just use the real thing (TM).
Reviewed-by: Bart Van Assche bart.vanass...@sandisk.com
--
To unsubscribe from this list: send the line unsubscribe linux-scsi in
the body of a
-Original Message-
From: Christoph Hellwig [mailto:h...@lst.de]
Sent: Saturday, January 10, 2015 10:41 PM
To: sumit.sax...@avagotech.com; kashyap.de...@avagotech.com
Cc: martin.peter...@oracle.com; linux-scsi@vger.kernel.org
Subject: [PATCH 07/10] megaraid_sas: add missing byte swaps to
-Original Message-
From: Christoph Hellwig [mailto:h...@lst.de]
Sent: Saturday, January 10, 2015 10:41 PM
To: sumit.sax...@avagotech.com; kashyap.de...@avagotech.com
Cc: martin.peter...@oracle.com; linux-scsi@vger.kernel.org
Subject: [PATCH 06/10] megaraid_sas: bytewise or should be done
72 matches
Mail list logo