* [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation
@ 2016-01-22 14:42 Hannes Reinecke
2016-01-22 14:48 ` Johannes Thumshirn
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Hannes Reinecke @ 2016-01-22 14:42 UTC (permalink / raw)
To: Martin K. Petersen
Cc: Christoph Hellwig, James Bottomley, linux-scsi, Hannes Reinecke
If MODE SELECT returns with sense '05/91/36' (command lock violation)
it should always be retried without counting the number of retries.
During an HBA upgrade or similar circumstances one might see a flood
of MODE SELECT command from various HBAs, which will easily trigger
the sense code and exceed the retry count.
References: bsc#956949
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
drivers/scsi/device_handler/scsi_dh_rdac.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/device_handler/scsi_dh_rdac.c b/drivers/scsi/device_handler/scsi_dh_rdac.c
index 3613581..93880ed 100644
--- a/drivers/scsi/device_handler/scsi_dh_rdac.c
+++ b/drivers/scsi/device_handler/scsi_dh_rdac.c
@@ -562,7 +562,7 @@ static int mode_select_handle_sense(struct scsi_device *sdev,
/*
* Command Lock contention
*/
- err = SCSI_DH_RETRY;
+ err = SCSI_DH_IMM_RETRY;
break;
default:
break;
@@ -612,6 +612,8 @@ retry:
err = mode_select_handle_sense(sdev, h->sense);
if (err == SCSI_DH_RETRY && retry_cnt--)
goto retry;
+ if (err == SCSI_DH_IMM_RETRY)
+ goto retry;
}
if (err == SCSI_DH_OK) {
h->state = RDAC_STATE_ACTIVE;
--
1.8.5.6
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation
2016-01-22 14:42 [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation Hannes Reinecke
@ 2016-01-22 14:48 ` Johannes Thumshirn
2016-02-04 2:48 ` Martin K. Petersen
2016-02-05 3:28 ` Martin K. Petersen
2 siblings, 0 replies; 5+ messages in thread
From: Johannes Thumshirn @ 2016-01-22 14:48 UTC (permalink / raw)
To: Hannes Reinecke
Cc: Martin K. Petersen, Christoph Hellwig, James Bottomley, linux-scsi
On Fri, Jan 22, 2016 at 03:42:41PM +0100, Hannes Reinecke wrote:
> If MODE SELECT returns with sense '05/91/36' (command lock violation)
> it should always be retried without counting the number of retries.
> During an HBA upgrade or similar circumstances one might see a flood
> of MODE SELECT command from various HBAs, which will easily trigger
> the sense code and exceed the retry count.
>
> References: bsc#956949
Without the bugzilla refrence
Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
> drivers/scsi/device_handler/scsi_dh_rdac.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/scsi/device_handler/scsi_dh_rdac.c b/drivers/scsi/device_handler/scsi_dh_rdac.c
> index 3613581..93880ed 100644
> --- a/drivers/scsi/device_handler/scsi_dh_rdac.c
> +++ b/drivers/scsi/device_handler/scsi_dh_rdac.c
> @@ -562,7 +562,7 @@ static int mode_select_handle_sense(struct scsi_device *sdev,
> /*
> * Command Lock contention
> */
> - err = SCSI_DH_RETRY;
> + err = SCSI_DH_IMM_RETRY;
> break;
> default:
> break;
> @@ -612,6 +612,8 @@ retry:
> err = mode_select_handle_sense(sdev, h->sense);
> if (err == SCSI_DH_RETRY && retry_cnt--)
> goto retry;
> + if (err == SCSI_DH_IMM_RETRY)
> + goto retry;
> }
> if (err == SCSI_DH_OK) {
> h->state = RDAC_STATE_ACTIVE;
> --
> 1.8.5.6
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Johannes Thumshirn Storage
jthumshirn@suse.de +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation
2016-01-22 14:42 [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation Hannes Reinecke
2016-01-22 14:48 ` Johannes Thumshirn
@ 2016-02-04 2:48 ` Martin K. Petersen
2016-02-04 7:01 ` Hannes Reinecke
2016-02-05 3:28 ` Martin K. Petersen
2 siblings, 1 reply; 5+ messages in thread
From: Martin K. Petersen @ 2016-02-04 2:48 UTC (permalink / raw)
To: Hannes Reinecke
Cc: Martin K. Petersen, Christoph Hellwig, James Bottomley, linux-scsi
>>>>> "Hannes" == Hannes Reinecke <hare@suse.de> writes:
Hannes> If MODE SELECT returns with sense '05/91/36' (command lock
Hannes> violation) it should always be retried without counting the
Hannes> number of retries. During an HBA upgrade or similar
Hannes> circumstances one might see a flood of MODE SELECT command from
Hannes> various HBAs, which will easily trigger the sense code and
Hannes> exceed the retry count.
Should this be Cc: stable?
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation
2016-02-04 2:48 ` Martin K. Petersen
@ 2016-02-04 7:01 ` Hannes Reinecke
0 siblings, 0 replies; 5+ messages in thread
From: Hannes Reinecke @ 2016-02-04 7:01 UTC (permalink / raw)
To: Martin K. Petersen; +Cc: Christoph Hellwig, James Bottomley, linux-scsi
On 02/04/2016 03:48 AM, Martin K. Petersen wrote:
>>>>>> "Hannes" == Hannes Reinecke <hare@suse.de> writes:
>
> Hannes> If MODE SELECT returns with sense '05/91/36' (command lock
> Hannes> violation) it should always be retried without counting the
> Hannes> number of retries. During an HBA upgrade or similar
> Hannes> circumstances one might see a flood of MODE SELECT command from
> Hannes> various HBAs, which will easily trigger the sense code and
> Hannes> exceed the retry count.
>
> Should this be Cc: stable?
>
Probably, yes.
Can you do it?
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation
2016-01-22 14:42 [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation Hannes Reinecke
2016-01-22 14:48 ` Johannes Thumshirn
2016-02-04 2:48 ` Martin K. Petersen
@ 2016-02-05 3:28 ` Martin K. Petersen
2 siblings, 0 replies; 5+ messages in thread
From: Martin K. Petersen @ 2016-02-05 3:28 UTC (permalink / raw)
To: Hannes Reinecke
Cc: Martin K. Petersen, Christoph Hellwig, James Bottomley, linux-scsi
>>>>> "Hannes" == Hannes Reinecke <hare@suse.de> writes:
Hannes> If MODE SELECT returns with sense '05/91/36' (command lock
Hannes> violation) it should always be retried without counting the
Hannes> number of retries. During an HBA upgrade or similar
Hannes> circumstances one might see a flood of MODE SELECT command from
Hannes> various HBAs, which will easily trigger the sense code and
Hannes> exceed the retry count.
Applied to 4.5/scsi-fixes.
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2016-02-05 3:28 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-22 14:42 [PATCH] scsi_dh_rdac: always retry MODE SELECT on command lock violation Hannes Reinecke
2016-01-22 14:48 ` Johannes Thumshirn
2016-02-04 2:48 ` Martin K. Petersen
2016-02-04 7:01 ` Hannes Reinecke
2016-02-05 3:28 ` Martin K. Petersen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.