Hi Christian,

Christian Franke wrote:
See the package announcement for more details about the interesting
behavior of Windows on read errors:
https://sourceware.org/pipermail/cygwin-announce/2024-February/011568.html

Thank you for investigating this.

This leads to the following suggestion for a ddrescue enhancement to
handle platform/controller/driver specific values of errno after read
errors:

I think that mapping unknown Windows errors to EACCES, as Cygwin does, is wrong. Some of those unknown errors may be fatal and should make ddrescue quit. For example, if Windows returns ERROR_MEDIA_CHANGED(1110) because the medium really was changed, it is wrong for ddrescue to ignore the error and continue reading the new device as if it were the old one.

Therefore I propose the following simpler change:

- If ddrescue quits because of a fatal error, print also the value of errno in the final message.

- Add the option '--continue-on-errno=<n>[,<n>]' for systems like Cygwin that map non-fatal errors to fatal errors. (Allow ignoring multiple errno values).

- Document that '-O, --reopen-on-error' may be needed when using '--continue-on-errno'.


Best regards,
Antonio.

Reply via email to