Re: [PATCH] raid456: avoid second retry of read-error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 11/07/2019 09:35 PM, Wols Lists wrote:
On 07/11/19 13:17, Xiao Ni wrote:

On 11/05/2019 08:33 AM, Wols Lists wrote:
On 04/11/19 20:01, Nigel Croxon wrote:
The MD driver for level-456 should prevent re-reading read errors.

For redundant raid it makes no sense to retry the operation:
When one of the disks in the array hits a read error, that will
cause a stall for the reading process:
- either the read succeeds (e.g. after 4 seconds the HDD error
strategy could read the sector)
- or it fails after HDD imposed timeout (w/TLER, e.g. after 7
seconds (might be even longer)
Okay, I'm being completely naive here, but what is going on? Are you
saying that if we hit a read error, we just carry on, ignore it, and
calculate the missing block from parity?

If so, what happens if we hit two errors on a raid-5, or 3 on a raid-6,
or whatever ... :-)

Hi Wol

What's the meaning of "two errors on a raid-5"? Two read errors happen
on one disk?
Or there are two read errors on two disks?

Two read errors on two disks, so that you can't recalculate from parity.

Basically, what I was thinking was "does this patch mean that if we get
a read error, we read the parity instead and recalculate the block that
failed?". If that is the case, what happens if we get a second read
error and can't recalculate?

Because, aiu real-world behaviour, it's quite normal for the first read
to fail and the retry to succeed. So if this patch does what I think
(feel free to tell me I'm wrong :-) a double read error would make raid
return a read error, when actually the old code would have resulted in
the read being successful, if a bit slower.


Now it's a little hard to choose. For me, I'd like to get right data when
there is a double read error if it can read successfully in retry-read.

Thanks
Xiao





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux