IDE treatment of bad sectors
Hello,
The Windows partition of my HD is in the process of dying (no clue as to why the Linux partition is still unscathed...). Windows chkdsk decided that it could not cope with at least one error on the partition and exited at 50%, so I am in the process of copying it onto another system using ddrescue under Linux. And now the problem: every time ddrescue (actually, I think, the IDE driver) hits a bad sector, it spends several minutes trying and retrying to read it (and freezing any programme trying to do disk access at the same time in the process). I suspect that the IDE controller itself is trying several times (the same thing happened during chkdsk, but not quite as bad) and that the driver is as well, which adds up to a lot of retries. After many, many hours of work it is now a 3.8 GB out of about 12.
And now my actual question. I think it would be a great feature if the number of times the driver retried to read could be set via ioctl/hdparm - and the same of course for the controller, although I admittedly don't know much about IDE - so that retries could be deactivated in situations like these. Another feature that might be useful in such circumstances would be to turn off error checking altogether, so that a programme which knows where the bad sectors are (or a backup run which is not aiming at 100% accuracy, which most in this situation will not be) can extract as much good information as possible, even from the bad sectors.
I don't want to post straight to the kernel mailing list, since I am not a "regular" there, and I didn't want to bother the maintainer straight away either. Where is the best place to go with this "wish"? I found a couple of similar discussions on the kernel mailing list, but all a few years old.
Regards and thanks!
Michael
|