Before commit 0df21c86bdbf ("scsi: implement .get_budget and .put_budget
for blk-mq"), we run queue after 3ms if queue is idle and SCSI device
queue isn't ready, which is done in handling BLK_STS_RESOURCE. After
commit 0df21c86bdbf is introduced, queue won't be run any more under
this situation.
On Tue, Dec 05, 2017 at 01:16:24PM +0800, Ming Lei wrote:
> On Mon, Dec 04, 2017 at 11:48:07PM +, Holger Hoffstätte wrote:
> > On Tue, 05 Dec 2017 06:45:08 +0800, Ming Lei wrote:
> >
> > > On Mon, Dec 04, 2017 at 03:09:20PM +, Bart Van Assche wrote:
> > >> On Sun, 2017-12-03 at 00:31
Hi Martin,
> On Dec 4, 2017, at 6:24 PM, Martin K. Petersen
> wrote:
>
>
> Himanshu,
>
>> drivers/scsi/qla2xxx/qla_def.h | 49
>> drivers/scsi/qla2xxx/qla_gs.c | 230
>> ++---
>> drivers/scsi/qla2xxx/qla_init.c
On Mon, Dec 04, 2017 at 11:48:07PM +, Holger Hoffstätte wrote:
> On Tue, 05 Dec 2017 06:45:08 +0800, Ming Lei wrote:
>
> > On Mon, Dec 04, 2017 at 03:09:20PM +, Bart Van Assche wrote:
> >> On Sun, 2017-12-03 at 00:31 +0800, Ming Lei wrote:
> >> > Fixes: 0df21c86bdbf ("scsi: implement
While testing "sd: Micro-optimize READ / WRITE CDB encoding" patches it was
helpful to check various code paths associated with READ/WRITE 6, 10
and 16 byte cdb variants. There seems to be no user space "knobs" to
twiddle use_10_for_rw and friends in the scsi_device structure.
So add a parameter
On Tue, Dec 05, 2017 at 01:59:51AM +, Bart Van Assche wrote:
> On Tue, 2017-12-05 at 09:15 +0800, Ming Lei wrote:
> > On Mon, Dec 04, 2017 at 04:38:08PM -0800, Bart Van Assche wrote:
> > > Since the next patch will make it possible that scsi_show_rq() gets
> > > called before the CDB pointer
Himanshu,
> drivers/scsi/qla2xxx/qla_def.h | 49
> drivers/scsi/qla2xxx/qla_gs.c | 230
> ++---
> drivers/scsi/qla2xxx/qla_init.c| 69 +--
> drivers/scsi/qla2xxx/qla_iocb.c| 13 ---
> drivers/scsi/qla2xxx/qla_isr.c | 7
On Mon, Dec 04, 2017 at 10:42:28PM -0500, Martin K. Petersen wrote:
>
> Hi Ming,
>
> > Please cook a patch for fixing the crash issue only, since we need
> > to backport the fix to stable kernel.
>
> I thought you were going to submit a V5 that addressed James' concerns?
>
> --
> Martin K.
Hi Ming,
> Please cook a patch for fixing the crash issue only, since we need
> to backport the fix to stable kernel.
I thought you were going to submit a V5 that addressed James' concerns?
--
Martin K. Petersen Oracle Linux Engineering
Bryant,
> Where applicable, changes pr_debug, pr_info, pr_err, etc. calls
> to the dev_* versions. This adds the DRC index of the device to the
> corresponding trace statement.
Applied to 4.16/scsi-queue, thank you!
--
Martin K. Petersen Oracle Linux Engineering
Colin,
> Trivial fix to spelling mistake in error message text.
Applied to 4.16/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
Colin,
> Remove one extraneous level of indentation on an assignment statement.
Applied to 4.16/scsi-queue, thanks!
--
Martin K. Petersen Oracle Linux Engineering
Colin,
> Trivial fix to spelling mistake in error message text.
Applied to 4.16/scsi-queue.
--
Martin K. Petersen Oracle Linux Engineering
Michał,
> KERN_CONT is now required for continued printks(). Add it.
Applied to 4.16/scsi-queue. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
> These would be used in the future in some specific drivers.
Applied to 4.16/scsi-queue. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
Suganath,
> No Functional change just cleanup,
> Removed variable requeue_event and made function as void.
Applied to 4.16/scsi-queue. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
Romain,
> The PCI pool API is deprecated. This commit replaces the PCI pool old
> API by the appropriate function with the DMA pool API.
Applied to 4.16/scsi-queue. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Vasyl,
> Remove the duplicate copies of this simple function and use an
> open-coded version.
Applied to 4.16/scsi-queue. Thanks!
--
Martin K. Petersen Oracle Linux Engineering
Martin,
> devinfo->vendor and devinfo->model aren't necessarily
> zero-terminated.
Applied to 4.15/scsi-fixes. Thank you!
--
Martin K. Petersen Oracle Linux Engineering
Martin,
> Cleanly fill memory for "vendor" and "model" with 0-bytes for the
> "compatible" case rather than adding only a single 0 byte. This
> simplifies the devinfo code a a bit, and avoids mistakes in other
> places of the code (not in current upstream, but we had one such
> mistake in the
On Tue, 2017-12-05 at 09:15 +0800, Ming Lei wrote:
> On Mon, Dec 04, 2017 at 04:38:08PM -0800, Bart Van Assche wrote:
> > Since the next patch will make it possible that scsi_show_rq() gets
> > called before the CDB pointer is changed into a non-NULL value,
> > only show the CDB if the CDB pointer
On Tue, Dec 05, 2017 at 01:13:43AM +, Bart Van Assche wrote:
> On Tue, 2017-12-05 at 09:04 +0800, Ming Lei wrote:
> > Then no reason to revert commit(0df21c86bdbf scsi: implement .get_budget an
> > .put_budget for blk-mq) for one issue which may never happen in reality
> > since
> > this
On Mon, Dec 04, 2017 at 04:38:08PM -0800, Bart Van Assche wrote:
> Since the next patch will make it possible that scsi_show_rq() gets
> called before the CDB pointer is changed into a non-NULL value,
> only show the CDB if the CDB pointer is not NULL. Additionally,
> show the request timeout and
On Tue, 2017-12-05 at 09:04 +0800, Ming Lei wrote:
> Then no reason to revert commit(0df21c86bdbf scsi: implement .get_budget an
> .put_budget for blk-mq) for one issue which may never happen in reality since
> this reproducer need out-of-tree patch.
Sorry but I disagree completely. You seem to
On Tue, Dec 05, 2017 at 12:29:59AM +, Bart Van Assche wrote:
> On Tue, 2017-12-05 at 08:20 +0800, Ming Lei wrote:
> > Also it is a bit odd to see request in hctx->dispatch now, and it can only
> > happen now when scsi_target_queue_ready() returns false, so I guess you
> > apply
> > some
Since the next patch will make it possible that scsi_show_rq() gets
called before the CDB pointer is changed into a non-NULL value,
only show the CDB if the CDB pointer is not NULL. Additionally,
show the request timeout and SCSI command flags. This patch also
fixes a bug that was reported by Ming
When debugging e.g. the SCSI timeout handler it is important that
requests that have not yet been started or that already have
completed are also reported through debugfs.
Signed-off-by: Bart Van Assche
Cc: Ming Lei
Cc: Christoph Hellwig
Hello Jens,
While debugging an issue with the SCSI error handler I noticed that commands
that got stuck in that error handler are not shown in debugfs. That is very
annoying for anyone who relies on the information in debugfs for root-causing
such an issue. Hence this patch series that makes sure
On Tue, 2017-12-05 at 08:20 +0800, Ming Lei wrote:
> Also it is a bit odd to see request in hctx->dispatch now, and it can only
> happen now when scsi_target_queue_ready() returns false, so I guess you apply
> some change on target->can_queue(such as setting it as 1 in srp/ib code
> manually)?
On Mon, Dec 04, 2017 at 11:32:27PM +, Bart Van Assche wrote:
> On Tue, 2017-12-05 at 07:01 +0800, Ming Lei wrote:
> > On Mon, Dec 04, 2017 at 10:48:18PM +, Bart Van Assche wrote:
> > > On Tue, 2017-12-05 at 06:42 +0800, Ming Lei wrote:
> > > > On Mon, Dec 04, 2017 at 09:30:32AM -0800, Bart
On Tue, 2017-12-05 at 07:01 +0800, Ming Lei wrote:
> On Mon, Dec 04, 2017 at 10:48:18PM +, Bart Van Assche wrote:
> > On Tue, 2017-12-05 at 06:42 +0800, Ming Lei wrote:
> > > On Mon, Dec 04, 2017 at 09:30:32AM -0800, Bart Van Assche wrote:
> > > > * A systematic lockup for SCSI queues with
On Mon, Dec 04, 2017 at 10:48:18PM +, Bart Van Assche wrote:
> On Tue, 2017-12-05 at 06:42 +0800, Ming Lei wrote:
> > On Mon, Dec 04, 2017 at 09:30:32AM -0800, Bart Van Assche wrote:
> > > * A systematic lockup for SCSI queues with queue depth 1. The
> > > following test reproduces that bug
On Tue, 2017-12-05 at 06:45 +0800, Ming Lei wrote:
> On Mon, Dec 04, 2017 at 03:09:20PM +, Bart Van Assche wrote:
> > On Sun, 2017-12-03 at 00:31 +0800, Ming Lei wrote:
> > > Fixes: 0df21c86bdbf ("scsi: implement .get_budget and .put_budget for
> > > blk-mq")
> >
> > It might be safer to
On Tue, 2017-12-05 at 06:42 +0800, Ming Lei wrote:
> On Mon, Dec 04, 2017 at 09:30:32AM -0800, Bart Van Assche wrote:
> > * A systematic lockup for SCSI queues with queue depth 1. The
> > following test reproduces that bug systematically:
> > - Change the SRP initiator such that SCSI target
From: Giridhar Malavali
This patch defers processing of GS IOCB calls from interrupt
context to avoid hardware spinlock recursion.
Following stack trace is seen
? mod_timer+0x193/0x330
? ql_dbg+0xa7/0xf0 [qla2xxx]
_raw_spin_lock_irqsave+0x31/0x40
From: Quinn Tran
clear loop id after delete to prevent session invalidation
of stale session.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
Signed-off-by:
When driver is loaded in Target/Dual mode, it creates QPair
to support MQ and allocates resources for each QPair. This Qpair
initialization is delayed until the FW personality is changed to
Dual/Target mode by issuing chip reset. At the time of chip reset
firmware is re-initilized in correct
From: Quinn Tran
Fix system crash due to NULL pointer access.
qlt_plogi_ack_t and fc_port structures were not properly
bound before calling qlt_plogi_ack_unref().
RIP: 0010:qlt_plogi_ack_unref+0xa1/0x150 [qla2xxx]
Call Trace:
qla24xx_create_new_sess+0xb1/0x320 [qla2xxx]
Signed-off-by: Himanshu Madhani
Reviewed-by: Hannes Reinecke
---
drivers/scsi/qla2xxx/qla_version.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/scsi/qla2xxx/qla_version.h
b/drivers/scsi/qla2xxx/qla_version.h
index
From: Giridhar Malavali
This fix the spinlock recursion issue seen while unloading the driver.
14 [9f2e21e03db8] native_queued_spin_lock_slowpath at ad0d8802
15 [9f2e21e03dc0] do_raw_spin_lock at ad0d99e4
16 [9f2e21e03dd8]
From: Quinn Tran
Get Port Database MBX cmd is to validate current Login state upon
PRLI completion. Current code looks at the last login state for
re-validation which was incorrect. This patch removed incorrect
state check.
Fixes: 15f30a5752287 ("qla2xxx: Use IOCB
From: Quinn Tran
If user swaps one target port for another target port for same
switch port, the new target port is not being recognized by the
driver. Current code assumes that old Target port has recovered
from link down. The fix will ask switch what is the WWPN of a
From: Quinn Tran
This patch fixes clearing out els_send_logo flag at the
time of session deletion.
Fixes: 3515832cc614 ("scsi: qla2xxx: Reset the logo flag, after target
re-login.")
Cc: # 4.10+
Signed-off-by: Quinn Tran
From: Quinn Tran
GPNID is triggered by RSCN. For multiple RSCNs of the same
affected NPORT ID, serialize the GPNID to prevent confusion.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn
From: Quinn Tran
Original code acquires hardware_lock to add Abort IOCB
onto driver request queue for processing. However,
abort_command() will also acquire hardware lock to look up
sp pointer before issuing abort IOCB command resulting
into a deadlock. This patch safely
From: Sawan Chandak
Add check to make sure we are cleaning up global target host
list only for NPIV hosts
Fixes: bdbe24de281e2 ("scsi: qla2xxx: Cleanup NPIV host in target mode during
config teardown")
Cc: # 4.10+
Signed-off-by: Sawan Chandak
From: Quinn Tran
Add correct value of scan_state field indicating state
of the FC port
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu
From: Quinn Tran
Current code manually allocate an fcport structure that
is not properly initialize. Replace kzalloc with
qla2x00_alloc_fcport, so that all fields are initialized.
Also set set scan flag to port found
Cc:
Signed-off-by: Quinn Tran
From: Quinn Tran
Current driver design schedules relogin process via DPC thread
every 1 second. In a large fabric, this DPC thread tries to
schedule too many jobs and might get overloaded. As a result of
this processing of DPC thread, it can schedule relogin earlier
than 1
From: Quinn Tran
This patch returns discovery state machine back to
Login Complete.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu
From: Quinn Tran
When NPort Handle is in use, driver needs to mark the handle
as used and pick another. Instead, the code clears the handle
and re-pick the same handle.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc:
From: Quinn Tran
Retry GID_PN & GPN_ID switch commands for time out case.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
From: Quinn Tran
Fix co-existence between Block MQ and Target Mode. Block MQ
and initiator mode requires midlayer queue mapping to check
for IRQ to be affinitize. For target mode, it's not the case.
Fixes: 09620eeb62c41 ("scsi: qla2xxx: Add debug knob for user control
From: Quinn Tran
Move session delete from system work queue to driver's
work queue for in time processing.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
From: Quinn Tran
Stop GPNID command from advancing if command has failed.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
Signed-off-by: Himanshu Madhani
From: Quinn Tran
Fix NULL pointer crash due to missing timeout handling callback
for Notify Ack IOCB.
Fixes: 726b85487067d ("qla2xxx: Add framework for async fabric discovery")
Cc: # 4.10+
Signed-off-by: Quinn Tran
Hi Martin,
This series contains bug fixes discovered during error handling test
cases for large fabric.
Please apply this series to 4.15-rc2 at your earliest convenience.
Changes from v2 -> v3
o Added Reviewed-by tag from Hannes.
o Fixed Spelling mistake in patch 7.
Changes from v1 -> v2
o
On Mon, Dec 04, 2017 at 03:09:20PM +, Bart Van Assche wrote:
> On Sun, 2017-12-03 at 00:31 +0800, Ming Lei wrote:
> > Fixes: 0df21c86bdbf ("scsi: implement .get_budget and .put_budget for
> > blk-mq")
>
> It might be safer to revert commit 0df21c86bdbf instead of trying to fix all
> issues
On Mon, Dec 04, 2017 at 09:30:32AM -0800, Bart Van Assche wrote:
> Commit 0df21c86bdbf introduced several bugs:
> * A SCSI queue stall for queue depths > 1, addressed by commit
> 88022d7201e9 ("blk-mq: don't handle failure in .get_budget")
This one is committed already.
> * A systematic lockup
Where applicable, changes pr_debug, pr_info, pr_err, etc. calls
to the dev_* versions. This adds the DRC index of the device to the
corresponding trace statement.
Signed-off-by: Bryant G. Ly
Signed-off-by: Brad Warrum
---
On Mon, Dec 04, 2017 at 03:20:34PM +, Bean Huo (beanhuo) wrote:
> Hi, Bart
> Sorry for later!
> >
> >Hello Bean,
> >
> >Please be more specific. What is inconvenient about sg3_utils on embedded
> >ARM systems?
> >
> Exactly, I don't know how to compile sg3_utils with static library, instead
>
Use the type blist_flags_t for all variables that represent blacklist
flags. Additionally, suppress recently introduced sparse warnings related
to blacklist flags.
Fixes: commit c6b54164508a ("scsi: Use 'blist_flags_t' for scsi_devinfo flags")
Signed-off-by: Bart Van Assche
Hello Martin,
These three patches is what I came up with after having reviewed recent
changes in the code for handling blacklist flags handling. Please consider
these patches for kernel v4.16.
Note: since patch "Use 'blist_flags_t' for scsi_devinfo flags" is not yet
in the 4.16/scsi-queue branch
Since symbolic names for the device information keys alread exist,
associate an enumeration type with these symbolic values. This change
makes it clear what the valid values for the 'key' arguments are.
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Since scsi_get_device_flags_keyed() callers do not check whether or
not the returned value is an error code, change that function such
that it returns a flags value even if the 'key' argument is invalid.
Note: since commit 28a0bc4120d3 ("scsi: sd: Implement blacklist
option for WRITE SAME w/
If scsi_eh_scmd_add() is called concurrently with
scsi_host_queue_ready() while shost->host_blocked > 0 then it can
happen that neither function wakes up the SCSI error handler. Fix
this by making every function that decreases the host_busy counter
wake up the error handler if necessary and by
Hello Martin,
As reported by Pavel Tikhomirov it can happen that the SCSI error handler does
not get woken up. This is very annoying because it results in a queue
stall. The two patches in this series address this issue without acquiring the
SCSI host lock in the hot path. Please consider these
Signed-off-by: Bart Van Assche
Cc: Christoph Hellwig
Cc: Hannes Reinecke
Cc: Johannes Thumshirn
---
drivers/scsi/scsi_error.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/scsi_error.c
Commit 0df21c86bdbf introduced several bugs:
* A SCSI queue stall for queue depths > 1, addressed by commit
88022d7201e9 ("blk-mq: don't handle failure in .get_budget")
* A systematic lockup for SCSI queues with queue depth 1. The
following test reproduces that bug systematically:
- Change
Hi, Bart
Sorry for later!
>
>Hello Bean,
>
>Please be more specific. What is inconvenient about sg3_utils on embedded
>ARM systems?
>
Exactly, I don't know how to compile sg3_utils with static library, instead of
sharing library. I used following configuration
Parameter:
./configure
On Sun, 2017-12-03 at 00:31 +0800, Ming Lei wrote:
> Fixes: 0df21c86bdbf ("scsi: implement .get_budget and .put_budget for blk-mq")
It might be safer to revert commit 0df21c86bdbf instead of trying to fix all
issues introduced by that commit for kernel version v4.15 ...
Bart.
The bfa driver has a number of real issues with string termination
that gcc-8 now points out:
drivers/scsi/bfa/bfad_bsg.c: In function 'bfad_iocmd_port_get_attr':
drivers/scsi/bfa/bfad_bsg.c:320:9: error: argument to 'sizeof' in 'strncpy'
call is the same expression as the source; did you mean
Dear Raghava, dear Linux folks,
Evaluating HBA extension cards, one of our key requirement is easy
maintenance, especially when upgrading the firmware.
You provide the utility `arcconf` [1], which can be used for such tasks
directly on the command line.
Unfortunately, we can’t find the
https://bugzilla.kernel.org/show_bug.cgi?id=198081
--- Comment #1 from Cristian Crinteanu (crinteanu.crist...@gmail.com) ---
*** Bug 198079 has been marked as a duplicate of this bug. ***
--
You are receiving this mail because:
You are the assignee for the bug.
https://bugzilla.kernel.org/show_bug.cgi?id=198081
Bug ID: 198081
Summary: scsi sg
Product: IO/Storage
Version: 2.5
Kernel Version: 4.4.89 and higher
Hardware: All
OS: Linux
Tree: Mainline
Status:
On Mon, Dec 04, 2017 at 09:44:55AM +0100, Johannes Thumshirn wrote:
> Ming Lei writes:
>
>
> > I am happy to do that, but recently I am very busy, so it may be done
> > a bit late by me.
> >
> > But anyone should reproduce the issue 100% with V4.15-rc kernel by just
> >
Ming Lei writes:
> I am happy to do that, but recently I am very busy, so it may be done
> a bit late by me.
>
> But anyone should reproduce the issue 100% with V4.15-rc kernel by just
> running the above script, not any specific hardware is required at all,
> so that means
On Mon, Dec 04, 2017 at 09:19:33AM +0100, Johannes Thumshirn wrote:
>
> Hi Ming,
>
> Ming Lei writes:
> > This issue can be triggered by the following script:
> >
> > #!/bin/sh
> > rmmod scsi_debug
> > modprobe scsi_debug max_queue=1
> >
> > DEVICE=`ls -d
>
Hi Ming,
Ming Lei writes:
> This issue can be triggered by the following script:
>
> #!/bin/sh
> rmmod scsi_debug
> modprobe scsi_debug max_queue=1
>
> DEVICE=`ls -d
> /sys/bus/pseudo/drivers/scsi_debug/adapter*/host*/target*/*/block/* | head -1
>
79 matches
Mail list logo