Hi,
I have two requests (neither of which really count as bugs, admittedly):
- The estimated remaining time should be more conservative.
Taking an example from a ddresuce that's currently running:
ipos: 20546 MB, non-trimmed: 0 B, current rate: 26214 kB/s
opos: 20546 MB, non-scraped: 0 B, average rate: 24754 kB/s
non-tried: 27771 MB, bad-sector: 0 B, error rate: 0 B/s
rescued: 20546 MB, bad areas: 0, run time: 13m 50s
pct rescued: 42.52%, read errors: 0, remaining time: 10m
The "current rate" of the above run of ddrescue is quite variable
(it's reading from an SSD and writing to an HDD-via-USB and AFAICT
the system frequently "blocks" while flushing writes, so the display
is frequently frozen for several seconds and at other times shows
a "current rate" above 100MB/s), which I assume is the underlying
reason for the overly optimistic remaining time.
The "average rate" is quite stable in my case (except for the very
beginning where it was over-optimistic because it didn't know what was
coming), so clearly if 13min were needed for the first 42%, 10min
won't be sufficient for the remaining 57%.
I suggest to base the "remaining time" on the smallest of the average
rate and the current rate (or maybe the smallest between the average
rate and average between "average rate" and "current rate", so as not
to be too pessimistic when the current rate is down to 0?).
- I think it'd be useful to be able to say `--size input` and `--size
output` to tell ddrescue to use as size the size of the given
input resp. output.
Example case for using the output size:
ddrescue --force --size output /dev/urandom /dev/mydisk mydisk.map
In any case, I'll take this opportunity to thank you for this neat tool,
which is surprisingly more flexible than I expected (especially thanks to
the `-F` option).
Stefan