Mark Lord wrote:
Eric D. Mudama wrote:
Actually, it's possibly worse, since each failure in libata will
generate 3-4 retries. With existing ATA error recovery in the drives,
that's about 3 seconds per retry on average, or 12 seconds per
failure. Multiply that by the number of blocks past the error to
complete the request..
It really beats the alternative of a forced reboot
due to, say, superblock I/O failing because it happened
to get merged with an unrelated I/O which then failed..
Etc..
FWIW -- speaking generally -- I think there are inevitable areas where
libata error handling combined with SCSI error handling results in
suboptimal error handling.
Just creating a list of "<this behavior> should be handled <this way>,
but in reality is handled in <this silly way>" would be very helpful.
Error handling is tough to get right, because the code is exercised so
infrequently. Tejun has actually done an above-average job here, by
making device probe, hotplug and other "exceptions" go through the
libata EH code, thereby exercising the EH code more than one might
normally assume.
Some errors in libata probably should not be retried more than once,
when we have a definitive diagnosis. Suggestions for improvements are
welcome.
Jeff
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]