Chris Murphy
2014-Jan-27 02:24 UTC
RFE: proactive "marginally bad" block detection during scrubs
Most consumer drives have bad sector timeouts that aren't configurable, and are in the ~120 second realm. The kernel puts a SCSI command timer on each command, which by default is 30 seconds. This mismatch means drives can develop bad sectors that can't be recovered, because the kernel resets the device before the drive gives up and reports a media error along with the affected LBA. Would it be possible for Btrfs scrubs to put a timer on each LBA read request, and if there's a delay, overwrite the delayed LBAs? That way latent sector errors won't get so bad that they take more than 30 seconds to recover. Overwriting slow sectors should fix the problem. Yes? No? Other? Chris Murphy-- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html