Fix libata-eh don't retry command after reset succeeded.
A message that is not in the archive (sent off-list or not yet received): [email protected]
Quoted 28 lines
From
9cc9a85f17a8525e53caf430611d762c105d324cMon Sep 17 00:00:00 2001
From: Bian Yu <[email protected]>
Date: Tue, 18 Dec 2012 05:58:34 -0500
Subject: [PATCH] Fix libata-eh don't retry command after reset succeeded.
It's introduced by commit8d899e70c1b3afff, When disk has a UNC error,qc->err_maskwill setAC_ERR_MEDIAflag.Signed-off-by Bian Yu <[email protected]>--- drivers/ata/libata-eh.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/ata/libata-eh.c +1
-1@@ -2094,7 +2094,7 @@ static unsigned int ata_eh_speed_down(struct ata_device *dev,*/ static inline int ata_eh_worth_retry (struct ata_queued_cmd *qc) { -if (qc->flags &AC_ERR_MEDIA ) +if (qc->err_mask &AC_ERR_MEDIA )return 0 ;/* don't retry media errors */ if (qc->flags &ATA_QCFLAG_IO )return 1 ;/* otherwise retry anything from fs stack */ Signature · 1 line
1.7.1
Yup, good catch. The original patch to fix retries (from me) had it that way, but somewhere among the enforced revisions this error crept in unnoticed.
Jeff -- wanna pick this one up?
Could be useful for -stable, too.
Quoted 8 lines · Mark Lord
Quoted 8 lines
From
9cc9a85f17a8525e53caf430611d762c105d324cMon Sep 17 00:00:00 2001
From: Bian Yu <[email protected]>
Date: Tue, 18 Dec 2012 05:58:34 -0500
Subject: [PATCH] Fix libata-eh don't retry command after reset succeeded.
It's introduced by commit8d899e70c1b3afff, When disk has a UNC error,qc->err_maskwill setAC_ERR_MEDIAflag.Signed-off-by Bian Yu <[email protected]>
..
Quoted 5 lines
Yup, good catch. The original patch to fix retries (from me) had it that way, but somewhere among the enforced revisions this error crept in unnoticed.
Jeff -- wanna pick this one up?
Could be useful for -stable, too.
The original version of this correction patch had the "Signed-off-by" line. See below.
Quoted 1 line
From
78c0fb104c9957db682518b97ce6a01ce1bc07b6Mon Sep 17 00:00:00 2001
From: Bian Yu <[email protected]>
Date: Wed, 12 Dec 2012 22:26:58 -0500
Subject: [PATCH] It should be a mistake introduced by commit 8d899e70c1b3afff.
because only qc->flags can't be set AC_ERR_*
--- drivers/ata/libata-eh.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/ata/libata-eh.c +0 -0
@@ -2094,7 +2094,7 @@ static unsigned int ata_eh_speed_down(struct
ata_device *dev,
*/
static inline int ata_eh_worth_retry(struct ata_queued_cmd *qc) {
- if (qc->flags & AC_ERR_MEDIA)
+ if (qc->err_mask & AC_ERR_MEDIA)
return 0; /* don't retry media errors */
if (qc->flags & ATA_QCFLAG_IO)
return 1; /* otherwise retry anything from fs stack */
Hello.
Quoted 5 lines · Mark Lord
Quoted 5 lines
From
9cc9a85f17a8525e53caf430611d762c105d324cMon Sep 17 00:00:00 2001
From: Bian Yu <[email protected]>
Date: Tue, 18 Dec 2012 05:58:34 -0500
Subject: [PATCH] Fix libata-eh don't retry command after reset succeeded.
It's introduced by commit8d899e70c1b3afff, When disk has a UNC error,
Please also specify that commit's summary in parens.
Quoted 2 lines
Quoted 2 lines
qc->err_maskwill setAC_ERR_MEDIAflag.Signed-off-by Bian Yu <[email protected]>
MBR, Sergei