On 10/06/2014 09:53 PM, Ewan Milne wrote:
> Rats. I found another case of "(null)" appearing in the log messages
> where I think you really just wanted no text at all to appear.
> Sorry I didn't find it last time along with the other one...
>
Nae bother. I'll be sending a new version of the patch
Hi all,
here is not the seventh iteration of my scsi-logging update.
The changes to v6 are:
- fixup scsi_print_result() to not issue a '(null)' string
(noticed by Ewan Milne)
- Use matching command names in sd_print_result
- Minor coding issue in scsi_opcode_sa_name()
(noticed by Doug Gilbert)
Like scmd_printk(), but the device name is passed in as
a string. Can be used by eg ULDs which do not have access
to the scsi_cmnd structure.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/ch.c | 3 +--
drivers/scsi/sd.h
fas216 returns DID_BAD_TARGET for an incomplete data
transfer. The midlayer uses DID_BAD_TARGET to signal
a non-existing or not reachable target. So we should
rather be using DID_ERROR here.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/s
Currently we're only decoding sense extras for tape devices.
And even there only for fixed format sense formats.
As this is of rather limited use in the general case we should
be stop trying to decode sense extras; the tape driver does
its own decoding anyway.
Reviewed-by: Robert Elliott
Reviewed
sd_done() was calling scsi_print_sense() for a sense code
of 'NO_SENSE'.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/sd.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index 0cb5c9f..0ccb4
Update acornscsi to use scsi_print_command() instead of the
underscore version and use scmd_printk() in acornscsi_done().
This will add correct device annotations in the resulting message.
And we should be using set_host_byte() for setting the
final result.
Reviewed-by: Robert Elliott
Reviewed-by
Unused.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 14 --
include/scsi/scsi_dbg.h | 2 --
2 files changed, 16 deletions(-)
diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c
index d35a5d6
Convert scsi_normalize_sense() and frieds to return 'bool'
instead of an integer.
Reviewed-by: Robert Elliott
Reviewed-by: Yoshihiro Yunomae
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/scsi_error.c | 16
drivers/scsi/scsi_lib.c | 2 +-
in
Remove all uncommented debugging code and move all
printk() statements over to dev_printk().
And while we're at it we should be doing a whitespace
cleanup, too.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/aha152x.c | 994 ++
Instead of having two versions of print_opcode_name() we
should be consolidating them into one version.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 88 ++--
1 file changed,
Update logging messages to use dev_printk() variants for correct
device annotations.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/arm/fas216.c | 26 +++---
1 file changed, 11 insertions(+), 15 deletions(-)
diff
print_opcode_name() was only ever called with a '0' argument
from LLDDs and ULDs which were _not_ supporting variable length
CDBs, so the 'if' clause was never triggered.
Instead we should be using the last argument to specify
the cdb length to avoid accidental overflow when reading
the cdb buffer.
We should be using the standard dev_printk() variants for
sense code printing.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/53c700.c | 2 +-
drivers/scsi/ch.c | 2 +-
drivers/scsi/constants.c | 117 ++
The EH statistics are per host, so we should be using
shost_printk() here.
Suggested-by: Robert Elliott
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/scsi_error.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/d
scsi_try_to_abort_cmd() should only return
SUCCESS, FAILED, or FAST_IO_FAIL. So document
that in the function description and simplify the
logging message.
Suggested-by: Christoph Hellwig
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scs
Simplify scsi_log_(send|completion) by externalizing
scsi_mlreturn_string() and always print the command address.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 41 ++---
drivers/scsi/
The .eh_abort_handler needs to return SUCCESS, FAILED, or
FAST_IO_FAIL. So fixup all callers to adhere to this requirement.
Cc: Robert Elliott
Cc:
Signed-off-by: Hannes Reinecke
---
drivers/scsi/NCR5380.c| 2 +-
drivers/scsi/aha1740.c| 2 +-
drivers/scsi/esas2r/esas2r_m
Use the matching scope for logging messages to allow for
better command tracing.
Suggested-by: Robert Elliott
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/hosts.c | 4 +--
drivers/scsi/scsi_error.c | 77 ++
Calling scsi_print_command should not be necessary during abort;
if the information is required one should enable scsi logging.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/53c700.c| 4 +---
drivers/scsi/NCR5380.c |
Consolidate the CDB opcode lookup in scsi_opcode_sa_name(),
so that we don't have to call several functions to figure
out the CDB opcode string.
Reviewed_by: Robert Elliott
Reviewed-by: Christoph Hellweg
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 37 ++---
Implement a lookup array for SERVICE ACTION commands instead
of hardcoding it in a large switch statement.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 131 +++
1 file change
Last caller is gone, so we can remove it.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 35 ---
include/scsi/scsi_dbg.h | 1 -
2 files changed, 36 deletions(-)
diff --git a/drivers/scs
The 53c700 driver would be using scsi_print_sense() in a debug
statement, which was never compiled in. Plus the same information
can get retrieved with logging. So remove it.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/53c700.c | 9
Open-code scsi_print_result in sd.c, and cleanup logging to
not print duplicate informations.
With that we can remove scsi_show_result in constants.c
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 16
d
Export functions for later use.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
---
drivers/scsi/constants.c | 58
include/scsi/scsi_dbg.h | 2 ++
2 files changed, 46 insertions(+), 14 deletions(-)
di
scsi_try_to_abort_cmd() might return SUCCESS, FAILED, or
FAST_IO_FAIL. So just checking for FAILED will treat
FAST_IO_FAIL as SUCCESS, which is wrong.
Cc: Robert Elliott
Signed-off-by: Hannes Reinecke
---
drivers/scsi/scsi_error.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --gi
If scsi_normalize_sense() fails we couldn't decode the sense
buffer, and the scsi_sense_hdr fields are invalid.
For those cases we should rather dump the sense buffer
and not try to decode invalid fields.
Reviewed-by: Robert Elliott
Reviewed-by: Christoph Hellwig
Signed-off-by: Hannes Reinecke
Hi,
When booting the latest grml on an HP Proliant blade the cciss module
doesn't create subdevices representing disk partitions. I only see main
devices for the two disks:
/dev/cciss/c0d0
/dev/cciss/c0d1
Once I run both of these devices through a "fdisk " with only the
"w" (write) command then
Dragi vlasnik računa e-pošte ,
Molim vas , morate ponovno potvrditi i ponovno potvrdili svoju e-mail adresu
kako bi se izbjeglo deaktivaciju svoju e-mail , kako bi potvrdili i produljiti
svoju e-mail adresu morate kliknuti ili kopirajte i zalijepite link u nastavku
u svoj preglednik i prijavite
On 09/23/14 18:32, Sagi Grimberg wrote:
Since you don't seem to negotiate/declare multichannel with the target,
did you test this code with some target implementations other than SCST
that happen to be out there?
(replying to an e-mail of two weeks ago)
Hello Sagi,
I have just verified that t
Although the SRP protocol supports multichannel operation, although
since considerable time RDMA HCA's are available that support multiple
completion vectors and although multichannel operation yields better
performance than using a single channel, the Linux SRP initiator does
not yet support m
Suppose that a system has two CPU sockets, three cores per socket,
that it does not support hyperthreading and that four hardware
queues are provided by a block driver. With the current algorithm
this will lead to the following assignment of CPU cores to hardware
queues:
HWQ 0: 0 1
HWQ 1: 2 3
The queuecommand() callback functions in SCSI low-level drivers
need to know which hardware context has been selected by the
block layer. Since this information is not available in the
request structure, and since passing the hctx pointer directly to
the queuecommand callback function would require
Allow a SCSI LLD to declare how many hardware queues it supports
by setting Scsi_Host.nr_hw_queues before calling scsi_add_host().
Note: it is assumed that each hardware queue has a queue depth of
shost->can_queue. In other words, the total queue depth per host
is (number of hardware queues) * (sh
Modify scsi_find_tag() and scsi_host_find_tag() such that these
fuctions can translate a tag generated by blk_mq_unique_tag().
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Sagi Grimberg
---
include/scsi/scsi_tcq.h | 19 +++
1 file changed, 11 insertions(+), 8 deleti
The patch that adds multichannel support into the SRP initiator
driver introduces an additional call to srp_free_ch_ib(). This
patch helps to keep that later patch simple.
Signed-off-by: Bart Van Assche
Reviewed-by: Sagi Grimberg
Cc: Sebastian Parschauer
---
drivers/infiniband/ulp/srp/ib_srp.c
Attempting to connect three times may be insufficient after an
initiator system tries to relogin, especially if the relogin
attempt occurs before the SRP target service ID has been
registered. Since the srp_daemon retries a failed login attempt
anyway, remove the stale connection retry mechanism.
If a cable is pulled during LUN scanning it can happen that the
SRP rport and the SCSI host have been created but no LUNs have been
added to the SCSI host. Since multipathd only sends SCSI commands
to a SCSI target if one or more SCSI devices are present and since
there is no keepalive mechanism fo
Introduce the srp_target_port member variables 'sgid' and 'pkey'.
Change the type of 'orig_dgid' from __be16[8] into union ib_gid.
This patch does not change any functionality but makes the
"Separate target and channel variables" patch easier to verify.
Signed-off-by: Bart Van Assche
Cc: Sagi Gri
Changes in this patch:
- Move channel variables into a new structure (struct srp_rdma_ch).
- Add an srp_target_port pointer, 'lock' and 'comp_vector' members
in struct srp_rdma_ch.
- Add code to initialize these three new member variables.
- Many boring "target->" into "ch->" changes.
- The cm_id
Improve performance by using multiple RDMA/RC channels per SCSI
host for communication with an SRP target. About the
implementation:
- Introduce a loop over all channels in the code that uses
target->ch.
- Set the SRP_MULTICHAN_MULTI flag during login for the creation
of the second and subseque
The free_reqs list is no longer needed now that we are using
tags assigned by the block layer. Hence remove it.
Signed-off-by: Bart Van Assche
Cc: Sagi Grimberg
Cc: Sebastian Parschauer
---
drivers/infiniband/ulp/srp/ib_srp.c | 24 +---
drivers/infiniband/ulp/srp/ib_srp.h |
Since the block layer already contains functionality to assign
a tag to each request, use that functionality instead of
reimplementing that functionality in the SRP initiator driver.
Signed-off-by: Bart Van Assche
Cc: Sagi Grimberg
Cc: Sebastian Parschauer
---
drivers/infiniband/ulp/srp/ib_srp
On 10/07/2014 07:02 AM, Bart Van Assche wrote:
> Suppose that a system has two CPU sockets, three cores per socket,
> that it does not support hyperthreading and that four hardware
> queues are provided by a block driver. With the current algorithm
> this will lead to the following assignment of CP
https://bugzilla.kernel.org/show_bug.cgi?id=85751
Bug ID: 85751
Summary: iSCSI initiator lockup during login
Product: IO/Storage
Version: 2.5
Kernel Version: 3.16.4
Hardware: All
OS: Linux
Tree: Mainline
https://bugzilla.kernel.org/show_bug.cgi?id=85751
Sagi Grimberg changed:
What|Removed |Added
CC||sa...@dev.mellanox.co.il
--- Comment #1 f
https://bugzilla.kernel.org/show_bug.cgi?id=85751
Bart Van Assche changed:
What|Removed |Added
Summary|iSCSI initiator lockup |iSCSI initiator lockup
https://bugzilla.kernel.org/show_bug.cgi?id=85751
--- Comment #2 from Bart Van Assche ---
This is not easy to reproduce and happened while testing a modification of
iSCSI target software. The following commands were issued at the initiator
side:
* iscsiadm -m discovery -p 192.168.1.124 -t st
* is
https://bugzilla.kernel.org/show_bug.cgi?id=85751
Bart Van Assche changed:
What|Removed |Added
Attachment #152781|Output generated by echo w |Output generated by echo w
descr
On 10/07/2014 11:42 AM, bugzilla-dae...@bugzilla.kernel.org wrote:
> * iscsiadm -m discovery -p 192.168.1.124 -t st
> * iscsiadm -m node -p 192.168.1.124 -l
> (something went wrong at the target side and the iSCSI initiator tried to
> relogin)
Did this login command ever complete normally? Did you
Hello,
On Tue, Oct 07, 2014 at 01:10:46AM +0200, Luis R. Rodriguez wrote:
> On Mon, Oct 06, 2014 at 05:01:18PM -0400, Tejun Heo wrote:
> > For in-kernel stuff, we already have a clear
> > synchronization point where we already synchronize all async calls.
> > Shouldn't we be flushing these async p
On Tue, Oct 07, 2014 at 01:34:04PM -0400, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 07, 2014 at 01:10:46AM +0200, Luis R. Rodriguez wrote:
> > On Mon, Oct 06, 2014 at 05:01:18PM -0400, Tejun Heo wrote:
> > > For in-kernel stuff, we already have a clear
> > > synchronization point where we already
Hello,
On Tue, Oct 07, 2014 at 07:50:10PM +0200, Luis R. Rodriguez wrote:
> On Tue, Oct 07, 2014 at 01:34:04PM -0400, Tejun Heo wrote:
> > But you can create a new workqueue and queue all the async probing
> > work items there and flush the workqueue right after
> > async_synchronize_full().
>
>
> -Original Message-
> From: Christoph Hellwig [mailto:h...@infradead.org]
> Sent: Thursday, September 25, 2014 6:47 AM
> To: KY Srinivasan
> Cc: h...@suse.de; linux-ker...@vger.kernel.org;
> de...@linuxdriverproject.org; oher...@suse.com;
> jbottom...@parallels.com; linux-scsi@vger.kerne
On 10/07/14 19:03, Mike Christie wrote:
On 10/07/2014 11:42 AM, bugzilla-dae...@bugzilla.kernel.org wrote:
* iscsiadm -m discovery -p 192.168.1.124 -t st
* iscsiadm -m node -p 192.168.1.124 -l
(something went wrong at the target side and the iSCSI initiator tried to
relogin)
Did this login com
https://bugzilla.kernel.org/show_bug.cgi?id=85751
--- Comment #3 from Bart Van Assche ---
On 10/07/14 19:03, Mike Christie wrote:
> On 10/07/2014 11:42 AM, bugzilla-dae...@bugzilla.kernel.org wrote:
>> * iscsiadm -m discovery -p 192.168.1.124 -t st
>> * iscsiadm -m node -p 192.168.1.124 -l
>> (so
On Tue, Oct 7, 2014 at 10:55 AM, Tejun Heo wrote:
> Hello,
>
> On Tue, Oct 07, 2014 at 07:50:10PM +0200, Luis R. Rodriguez wrote:
>> On Tue, Oct 07, 2014 at 01:34:04PM -0400, Tejun Heo wrote:
>> > But you can create a new workqueue and queue all the async probing
>> > work items there and flush th
On Tue, Oct 7, 2014 at 11:55 AM, Luis R. Rodriguez wrote:
> OK I'll just kill bus.enable_kern_async=1 to enable built-in async
> probe support *and* also have prefer_async_probe *always* be
> respected, whether modular or not.
Well and I just realized you *do* want to flush, so will throw that in
On Mon, Oct 06, 2014 at 11:39:45PM -0700, Christoph Hellwig wrote:
> On Mon, Oct 06, 2014 at 04:40:13PM -0700, Zach Brown wrote:
> > Both of the file target's calls to vfs_fsync_range() got the end offset
> > off by one. The range is inclusive, not exclusive. It would sync a bit
> > more data tha
On Tue, 2014-10-07 at 11:02 +0200, Hannes Reinecke wrote:
> Hi all,
>
> here is not the seventh iteration of my scsi-logging update.
> The changes to v6 are:
> - fixup scsi_print_result() to not issue a '(null)' string
> (noticed by Ewan Milne)
> - Use matching command names in sd_print_result
>
Hi,
In drivers/scsi_scsi_scan.c, we have:
int scsi_scan_host_selected(struct Scsi_Host *shost, unsigned int channel,
unsigned int id, u64 lun, int rescan)
...
if (((channel != SCAN_WILD_CARD) && (channel > shost->max_channel)) ||
((id != SCA
UFS driver adds three well known LUs in the initialization, but those
reference counts are not decremented, so it makes ufshcd module
impossible to unload.
This fixes it by putting scsi_device_put() in the initalization, and in
order to protect concurrent access to hba->sdev_ufs_device (UFS Device
This patch set consists of the usual driver updates (megaraid_sas,
arcmsr, be2iscsi, lpfc, mpt2sas, mpt3sas, qla2xxx, ufs) plus several
assorted fixes and miscellaneous updates (including the
pci_msix_enable_range() changes that have been pending for a while).
The patch is available here:
git://g
From: Jayamohan Kallickal
This patch allows the underlying hardware to choose
values other than hard coded max values for cqe and send_wr
while preventing them from exceeding max supported values.
Signed-off-by: Minh Tran
Signed-off-by: Jayamohan Kallickal
---
drivers/infiniband/ulp
On 10/8/2014 3:41 AM, Jay Kallickal wrote:
From: Jayamohan Kallickal
This patch allows the underlying hardware to choose
values other than hard coded max values for cqe and send_wr
while preventing them from exceeding max supported values.
Hi Minh and Jayamohan,
So I agree that we w
On Tue, 2014-10-07 at 09:58 +0300, Sagi Grimberg wrote:
> On 10/6/2014 5:15 AM, Nicholas A. Bellinger wrote:
> > From: Nicholas Bellinger
> >
> > This patch explicitly disables TX completion interrupt coalescing logic
> > in isert_put_response() and isert_put_datain() that was originally added
> >
On Mon, 2014-10-06 at 16:40 -0700, Zach Brown wrote:
> Both of the file target's calls to vfs_fsync_range() got the end offset
> off by one. The range is inclusive, not exclusive. It would sync a bit
> more data than was required.
>
> The sync path already tested the length of the range and fell
68 matches
Mail list logo