if you read over the internet, ddrescue is, together with forensic, mostly suggested for very bad drives (lot of bad sectors and drives becoming unstable)
why don't you add a specific example and sequence for the case "cloning a drive with a lot of bad sectors" ?
Additionally, I'd like to ask you why don't to implement a user definable skip ahead size amountand read backward , in case of bad sectors encountering. I've read the algorithm, but this is a little different and would give the user a better feeling of what is going on with the drive.
As example, starting to clone a 500GB bad drive, I notice that after 20GB of nice cloning, they rises a lot of errors. In my idea I would stop the cloning and choose to add a --skip-ahead-icoe=1M (icoe=in case of error). The goal is to understand if one megabyte forward, the situation is better.
If the situation is better, I would expect ddrescue to start reading backward this 1MB portion until the first error happen, at this point, ddrescue will return to the initial skip ahead point to continue the disk cloning in forward direction.
To end up and finish with my request (any explanation about this request to be a non sense will be appreciated and welcome) I would say that if 1MB falls again in bad areas, I would skip 5MB or 10MB or 50MB.
Thank you for any answer, about the example request and also regarding the feature.
Roberto
P.S. there are some drives that are recognized nice by the BIOS, they do not make bad noises but as soon linux or windows starts effectively to boot, such drives (either if connected on secondary channels) hangs the windows boot. It would be nice to have a ddrescue like tool interfacing directly with the ATA interface. Do you know something similar out there? Have you ever thought about this?