Stefan Monnier wrote:
- For a few tens of seconds, the rate is significantly higher than
   the average.
- For a minute or more, ddrescue appears completely frozen (presumably
   the kernel is draining the output queue or something).

Have you tried the option '-y, --synchronous' (for a test)? It surely makes the copy slower, but it should keep a more constant rate:

"Use synchronous writes for OUTFILE. (Issue a fsync call after every write). May be useful when forcing the drive to remap its bad sectors. Use it to make sure that all writes have been committed to disc when ddrescue finishes. Else the kernel may cache all the writes and pretend that it has finished."

BTW, I have just increased to 60 seconds the interval used to estimate the remaining time, and have optimized the calculation from linear to constant time.

'--size=input' is not needed because it is the default behavior of ddrescue
(when lseek returns the true size),

Thanks for confirming.

I have just documented it in the manual, along with the new '--size=output'.

Best regards,
Antonio.

Reply via email to