Hi Hannes,
I tried to remove duplicated decoder of SCSI command, but the
output format of it in constants.c is different from it in traceevents.
I have two questions for it.
(Ex1)
traceevents: TEST_UNIT_READY
constants: Test Unit Ready
= Which of XXX_YYY_ZZZ and Xxx Yyy Zzz should the kernel
On 08/27/14 17:55, Christoph Hellwig wrote:
On Wed, Aug 27, 2014 at 04:47:24PM -0700, Randy Dunlap wrote:
Goes with commit c9834c70efbaaa1461ec04289d97a842244fb294.
Reviewed-by: Ewan D. Milne emi...@redhat.com
Christoph, did you pick up this patch or should I merge it
with my documentation
On Wed, 2014-08-27 at 16:00 +0200, Tomas Henzl wrote:
On 08/19/2014 09:25 AM, Ching Huang wrote:
From: Ching Huang ching2...@areca.com.tw
Add code for supporting Areca new Raid adapter ARC12x4 series.
Signed-off-by: Ching Huang ching2...@areca.com.tw
---
Hi Ching,
please look at
https://bugzilla.kernel.org/show_bug.cgi?id=83391
--- Comment #2 from tomsun tomsunc...@gmail.com ---
static void sd_read_block_limits(struct scsi_disk *sdkp)
{
unsigned int sector_sz = sdkp-device-sector_size;
const int vpd_len = 32;
unsigned char *buffer = kmalloc(vpd_len,
Due to HW errata the APM X-Gene AHCI SATA host controller reports link
down even if the device presence is detected. This issue is due to speed
negotiation failure. This patch implements the algorithm to retry the
COMRESET if PxSTAT register reports device presence detected but
PHY communication
This patch set contains a couple of fixes related to APM X-Gene SATA
controller driver.
v2 Change:
1. Drop the Link down retry patch from this patch set.
v4 Change:
1. Drop the patch to fix the csr-mask in dts for PHY clock
node of SATA Host Controller 1.
2. Add the patch to
The value of the csr-mask of the SATA PHY clock DTS node has a
wrong value resulting a kernel panic as the clock/reset is not
proper for the PHY of the SATA host controller 1. This patch
fixes the correct csr-mask value of the SATA PHY clock DTS node
for the SATA Host controller 1.
As the 'ok' is
This patch implements the feature to skip the PHY and clock
initialization if it is already configured by the firmware.
Signed-off-by: Loc Ho l...@apm.com
Signed-off-by: Suman Tripathi stripa...@apm.com
---
drivers/ata/ahci_xgene.c | 15 +++
1 file changed, 15 insertions(+)
diff
On 08/25/2014 01:15 PM, Paolo Bonzini wrote:
Il 25/08/2014 12:28, Bart Van Assche ha scritto:
From SPC-4: 7.5.8 Control mode page [ ... ] A task aborted status (TAS)
bit set to zero specifies that aborted commands shall be terminated by
the device server without any response to the
On 08/26/2014 09:19 PM, Hans de Goede wrote:
Hi,
On 08/26/2014 08:34 PM, James Bottomley wrote:
On Tue, 2014-08-26 at 10:13 +0200, Hans de Goede wrote:
Hi,
On 08/25/2014 05:41 PM, James Bottomley wrote:
On Mon, 2014-08-25 at 13:39 +0200, Paolo Bonzini wrote:
Il 25/08/2014 13:26, Hans de
On 08/28/2014 08:19 AM, Yoshihiro YUNOMAE wrote:
Hi Hannes,
I tried to remove duplicated decoder of SCSI command, but the
output format of it in constants.c is different from it in traceevents.
I have two questions for it.
(Ex1)
traceevents: TEST_UNIT_READY
constants: Test Unit Ready
= Which
Hi,
On 08/28/2014 02:10 PM, Hannes Reinecke wrote:
On 08/26/2014 09:19 PM, Hans de Goede wrote:
Hi,
On 08/26/2014 08:34 PM, James Bottomley wrote:
On Tue, 2014-08-26 at 10:13 +0200, Hans de Goede wrote:
Hi,
On 08/25/2014 05:41 PM, James Bottomley wrote:
On Mon, 2014-08-25 at 13:39 +0200,
Hi,
On 08/28/2014 02:17 PM, Paolo Bonzini wrote:
Il 28/08/2014 14:04, Hannes Reinecke ha scritto:
Setting TASK ABORTED aside, the important part is that an abort can do
one of two things:
- complete the command, and then eh_abort should return after the driver
has noticed the completion
On Thu, 2014-08-28 at 14:04 +0200, Hannes Reinecke wrote:
On 08/25/2014 01:15 PM, Paolo Bonzini wrote:
- abort the command, and then the driver should never call the
-scsi_done callback for the Scsi_Cmnd*.
In practice we rely on the latter behaviour; when -scsi_done is
called while the
Il 28/08/2014 14:26, Hans de Goede ha scritto:
Then, blk_complete_request will do nothing because its call to
blk_mark_rq_complete returns true.
All this, of course, as long as -scsi_done is called _before_ eh_abort
returns.
What about calling scsi_done after eh_abort if eh_abort
Hi,
On 08/28/2014 02:33 PM, Paolo Bonzini wrote:
Il 28/08/2014 14:26, Hans de Goede ha scritto:
Then, blk_complete_request will do nothing because its call to
blk_mark_rq_complete returns true.
All this, of course, as long as -scsi_done is called _before_ eh_abort
returns.
What about
On 08/28/2014 05:46 PM, Ching Huang wrote:
On Wed, 2014-08-27 at 16:00 +0200, Tomas Henzl wrote:
On 08/19/2014 09:25 AM, Ching Huang wrote:
From: Ching Huang ching2...@areca.com.tw
Add code for supporting Areca new Raid adapter ARC12x4 series.
Signed-off-by: Ching Huang
https://bugzilla.kernel.org/show_bug.cgi?id=83391
Jeff Moyer jmo...@redhat.com changed:
What|Removed |Added
CC||jmo...@redhat.com
---
On Thu, 2014-08-28 at 14:37 +0200, Hans de Goede wrote:
Hi,
On 08/28/2014 02:33 PM, Paolo Bonzini wrote:
Il 28/08/2014 14:26, Hans de Goede ha scritto:
Then, blk_complete_request will do nothing because its call to
blk_mark_rq_complete returns true.
All this, of course, as long as
On Thu, 2014-08-28 at 14:21 +0200, Hans de Goede wrote:
Hi,
On 08/28/2014 02:04 PM, Hannes Reinecke wrote:
On 08/25/2014 01:15 PM, Paolo Bonzini wrote:
Il 25/08/2014 12:28, Bart Van Assche ha scritto:
From SPC-4: 7.5.8 Control mode page [ ... ] A task aborted status (TAS)
bit set to
On 08/28/2014 02:37 PM, Hans de Goede wrote:
Hi,
On 08/28/2014 02:33 PM, Paolo Bonzini wrote:
Il 28/08/2014 14:26, Hans de Goede ha scritto:
Then, blk_complete_request will do nothing because its call to
blk_mark_rq_complete returns true.
All this, of course, as long as -scsi_done is called
On 08/28/2014 02:31 PM, Martin Peschke wrote:
On Thu, 2014-08-28 at 14:04 +0200, Hannes Reinecke wrote:
On 08/25/2014 01:15 PM, Paolo Bonzini wrote:
- abort the command, and then the driver should never call the
-scsi_done callback for the Scsi_Cmnd*.
In practice we rely on the latter
Il 28/08/2014 16:17, Hannes Reinecke ha scritto:
As mentioned earlier, as soon as SCSI EH is invoked control
is assumed to be transferred back to the SCSI midlayer.
How the midlayer interprets any return value from the various eh_XX
callbacks is immaterial to the LLDD.
So even if the
On 08/28/2014 04:56 PM, Paolo Bonzini wrote:
Il 28/08/2014 16:17, Hannes Reinecke ha scritto:
As mentioned earlier, as soon as SCSI EH is invoked control
is assumed to be transferred back to the SCSI midlayer.
How the midlayer interprets any return value from the various eh_XX
callbacks is
-Original Message-
From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
ow...@vger.kernel.org] On Behalf Of Hannes Reinecke
Sent: Thursday, 28 August, 2014 10:13 AM
To: Paolo Bonzini; Hans de Goede; Bart Van Assche; SCSI development
list
Subject: Re: Debugging scsi abort
Il 28/08/2014 17:50, Elliott, Robert (Server Storage) ha scritto:
Is the block layer prevented from issuing a new command with the
same tag before the error handling is finished?
Tags are chosen by the LLDs, so it's up to it to pick the right tags.
Paolo
--
To unsubscribe from this list: send
On Thu, Aug 28, 2014 at 05:54:50PM +0200, Paolo Bonzini wrote:
Il 28/08/2014 17:50, Elliott, Robert (Server Storage) ha scritto:
Is the block layer prevented from issuing a new command with the
same tag before the error handling is finished?
Tags are chosen by the LLDs, so it's up to it to
Dumping the entire sense buffer might overwhelm the logging functions,
so suppress it per default.
Signed-off-by: Hannes Reinecke h...@suse.de.
---
drivers/scsi/53c700.c| 1 -
drivers/scsi/constants.c | 32 ++--
drivers/scsi/scsi.c | 6 --
If scsi_normalize_sense() fails we couldn't decode the sense
buffer, so we should not try to interpret the result.
We should rather dump the sense buffer instead and stop decoding.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 37 +++--
Unused.
Signed-off-by: Hannes Reinecke h...@suse.de
---
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..2f44707 100644
--- a/drivers/scsi/constants.c
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 things here and rather dump the entire
sense code.
Signed-off-by: Hannes Reinecke h...@suse.de
Passing in the SCSI device will tag the logging message with
the originating device.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 28 ++--
drivers/scsi/sd.c| 3 +--
include/scsi/scsi_dbg.h | 2 +-
3 files changed, 20 insertions(+),
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/aha152x.c | 7 ---
1 file changed, 7 deletions(-)
diff --git a/drivers/scsi/aha152x.c b/drivers/scsi/aha152x.c
index e77b72f..4da3a3b 100644
--- a/drivers/scsi/aha152x.c
+++ b/drivers/scsi/aha152x.c
@@ -1553,13 +1553,6 @@ static
Implement a lookup array for SERVICE ACTION commands instead
of hardcoding it in a large switch statement.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 130 +++
1 file changed, 53 insertions(+), 77 deletions(-)
diff --git
Signed-off-by: Hannes Reinecke h...@suse.de
---
include/scsi/scsi_device.h | 5 +
1 file changed, 5 insertions(+)
diff --git a/include/scsi/scsi_device.h b/include/scsi/scsi_device.h
index 1a0d184..91ac2e6 100644
--- a/include/scsi/scsi_device.h
+++ b/include/scsi/scsi_device.h
@@ -243,6
Print the result disposition in scsi_print_result() to simplify
code.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 43 +--
drivers/scsi/scsi.c | 28 +---
drivers/scsi/scsi_lib.c | 2 +-
Some drivers still use the __scsi_print_command() function although
they infact refer to the scsi command. So move them over to use
scsi_print_command() instead.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/aha152x.c | 18 --
drivers/scsi/arm/acornscsi.c |
Always use 'scmd 0x%p' when logging a command pointer.
Suggested-by: Robert Elliot ell...@hp.com
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/scsi.c | 7 +++---
drivers/scsi/scsi_error.c | 58 +++
drivers/scsi/scsi_lib.c | 2
sd_done() was calling scsi_print_sense() for a sense code
of 'NO_SENSE'.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/sd.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c
index aa43496..f5ca203 100644
--- a/drivers/scsi/sd.c
+++
When devices fail they can generate quite a lot of error
messages, possibly overloading the logging system.
So we should be putting these messages under logging control
to be able to silence them if requested.
And we should shorten the overall message; more verbose
logging can be requested by the
We should be using the standard dev_printk() variants for
sense code printing.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/53c700.c | 2 +-
drivers/scsi/ch.c | 2 +-
drivers/scsi/constants.c | 113 +
libata already uses an internal buffer, so we should be using
__scsi_print_command() here.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/ata/libata-eh.c | 12
1 file changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/ata/libata-eh.c b/drivers/ata/libata-eh.c
scsi_logging is somewhat special, and so instead of tweaking
scsi_print_command() we should be using __scsi_print_command()
with a local buffer, which then can be formatted according
to the logging level.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/scsi.c | 40
We already have a local buffer, so we can use it to format
the cdb, too.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 24 ++--
1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/constants.c b/drivers/scsi/constants.c
There is no need to print out the command result verbatim;
that will be done by the scsi stack if required.
Here we just should log the result in short if requested.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/sd.c | 13 +++--
1 file changed, 7 insertions(+), 6
SCSI opcode printing is tricky and needs to take into account
several different corner cases. So instead of trying to come
up with an elaborate printk() statement we should be printing
it into a local buffer.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 72
Hi all,
here's my next round of scsi logging updates.
Main feature is the update to have all logging
statements in one line so that they won't be broken
up even under high load.
This will dramatically improve debugging.
Additionally all printk() statements are moved
to dev_printk() variants to
Instead of using an on-stack buffer for __scsi_print_command()
we should pass in the string buffer directly.
This allows us to simplify the caller.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/ch.c| 5 +++--
drivers/scsi/constants.c | 16
Suggested-by: Robert Elliot ell...@hp.com
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/scsi_error.c | 16
include/scsi/scsi_dbg.h | 1 +
2 files changed, 13 insertions(+), 4 deletions(-)
diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
index
Update scsi_print_status() to return a const string and remove
the open-coded versions.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/aha152x.c| 7 ++
drivers/scsi/constants.c | 50 ---
include/scsi/scsi_dbg.h | 2 +-
On 14-08-28 01:33 PM, Hannes Reinecke wrote:
Hi all,
here's my next round of scsi logging updates.
Main feature is the update to have all logging
statements in one line so that they won't be broken
up even under high load.
This will dramatically improve debugging.
Additionally all printk()
Now that the protection interval has been detached from the sector size
we need to be able to handle sizes that are different from 4K and
512. Make the interval calculation generic.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Christoph Hellwig h...@lst.de
We'd occasionally merge requests with conflicting integrity flags.
Introduce a merge helper which checks that the requests have compatible
integrity payloads.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Christoph Hellwig h...@lst.de
Reviewed-by: Sagi Grimberg
The T10 Protection Information format is also used by some devices that
do not go through the SCSI layer (virtual block devices, NVMe). Relocate
the relevant functions to a block layer library that can be used without
involving SCSI.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
This is the data integrity patch series originally submitted for 3.16
and 3.17. It has been rebased on top of block/for-3.18/core. Other
than that there are no changes from v2.
--
Martin K. Petersen Oracle Linux Engineering
--
To unsubscribe from this list: send the line unsubscribe
bdev_integrity_enabled() is only used by bio_integrity_enabled().
Combine these two functions.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Christoph Hellwig h...@lst.de
Reviewed-by: Sagi Grimberg sa...@mellanox.com
---
Documentation/block/data-integrity.txt | 10
Make the choice of checksum a per-I/O property by introducing a flag
that can be inspected by the SCSI layer. There are several reasons for
this:
1. It allows us to switch choice of checksum without unloading and
reloading the HBA driver.
2. During error recovery we need to be able to tell
A set of flags introduced in the block layer enable better control over
how protection information is handled. These flags are useful for both
error injection and data recovery purposes. Checking can be enabled and
disabled for controller and disk, and the guard tag format is now a
per-I/O
The protection interval is not necessarily tied to the logical block
size of a block device. Stop using the terms sector and sectors.
Going forward we will use the term seed to describe the initial
reference tag value for a given I/O. Interval will be used to describe
the portion of the data
Instead of the operate parameter we pass in a seed value and a pointer
to a function that can be used to process the integrity metadata. The
generation function is changed to have a return value to fit into this
scheme.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by:
Add a BLK_ prefix to the integrity profile flags. Also rename the flags
to be more consistent with the generate/verify terminology in the rest
of the integrity code.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Christoph Hellwig h...@lst.de
Reviewed-by: Sagi Grimberg
So far we have relied on the app tag size to determine whether a disk
has been formatted with T10 protection information or not. However, not
all target devices provide application tag storage.
Add a flag to the block integrity profile that indicates whether the
disk has been formatted with
None of the filesystems appear interested in using the integrity tagging
feature. Potentially because very few storage devices actually permit
using the application tag space.
Remove the tagging functions.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Christoph
For commands like REQ_COPY we need a way to pass extra information along
with each bio. Like integrity metadata this information must be
available at the bottom of the stack so bi_private does not suffice.
Rename the existing bi_integrity field to bi_special and make it a union
so we can have
Move flags affecting the integrity code out of the bio bi_flags and into
the block integrity payload.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Sagi Grimberg sa...@mellanox.com
---
block/bio-integrity.c | 4 ++--
drivers/scsi/sd_dif.c | 4 ++--
bip_buf is not really needed so we can remove it.
Signed-off-by: Martin K. Petersen martin.peter...@oracle.com
Reviewed-by: Christoph Hellwig h...@lst.de
Reviewed-by: Sagi Grimberg sa...@mellanox.com
---
block/bio-integrity.c | 10 ++
include/linux/bio.h | 3 ---
2 files changed, 6
On Tue, Jul 15 2014 at 3:34pm -0400,
Mikulas Patocka mpato...@redhat.com wrote:
This patch series makes it possible to use SCSI XCOPY offload for the
block layer and device mapper.
It is based on Martin Petersen's work
On 14-08-28 01:33 PM, Hannes Reinecke wrote:
Implement a lookup array for SERVICE ACTION commands instead
of hardcoding it in a large switch statement.
Signed-off-by: Hannes Reinecke h...@suse.de
---
drivers/scsi/constants.c | 130 +++
1 file
On Thu, Aug 28, 2014 at 02:10:49PM -0600, Jens Axboe wrote:
On 08/28/2014 01:31 PM, Martin K. Petersen wrote:
This is the data integrity patch series originally submitted for 3.16
and 3.17. It has been rebased on top of block/for-3.18/core. Other
than that there are no changes from v2.
I'm not sure this is the correct way.
Currently we have quite some code duplication in scsi_trace.c and
constants.c, correct.
So I definitely would like to see them both merged.
But constants.c is influenced by CONFIG_SCSI_CONSTANTS, whereas
scsi_trace isn't, and the functions in
On Tue, Aug 26, 2014 at 10:54:51PM +, KY Srinivasan wrote:
This looks pretty reasonable to me, but I wonder if we should move this up
to common code so that it happens for any host rescan triggered by sysfs or
other drivers as well.
Ping. Any decision on if/when this patch may be
https://bugzilla.kernel.org/show_bug.cgi?id=83391
--- Comment #4 from tomsun tomsunc...@gmail.com ---
sorry, thank you very much!
(In reply to Jeff Moyer from comment #3)
This is a vendor kernel. You should file a bug report with Red Hat here:
https://bugzilla.redhat.com/enter_bug.
https://bugzilla.kernel.org/show_bug.cgi?id=83391
tomsun tomsunc...@gmail.com changed:
What|Removed |Added
Resolution|--- |INVALID
On 08/27/2014 09:31 AM, Hannes Reinecke wrote:
On 08/19/2014 07:54 PM, Christoph Hellwig wrote:
On Sat, Aug 16, 2014 at 08:09:48PM -0700, K. Y. Srinivasan wrote:
The host asks the guest to scan when a LUN is removed or added.
The only way a guest can identify the removed LUN is when an I/O is
On Thu, 28 Aug 2014, James Bottomley wrote:
I'm fine with not calling scsi_done from eh_abort, but I cannot
guarantee that another thread will not complete the cmnd in the mean
time before hand.
This is expected. After error handling begins, the block layer ignores
all done
On Thu, 28 Aug 2014, Hannes Reinecke wrote:
What might happen, though, that the command is already dead and gone by
the time you're calling -scsi_done() (if you call it after eh_abort).
So there might not _be_ a command upon which you can call -scsi_done()
to start with.
Hence any LLDD
-Original Message-
From: linux-scsi-ow...@vger.kernel.org [mailto:linux-scsi-
ow...@vger.kernel.org] On Behalf Of Finn Thain
Sent: Thursday, August 28, 2014 11:37 PM
To: James Bottomley
Cc: Hans de Goede; Hannes Reinecke; Paolo Bonzini; Bart Van Assche; SCSI
development list
77 matches
Mail list logo