I wouldn't use that noerr conv if you are looking for io errors. Maybe it's getting errors and that slows it down or locks it, and you're not seeing it because of this?
If we don't use
conv=noerror, the most
"errors" we can ever find is
one.
If we
do use
conv=noerror, it reports them (with exquisite detail) in realtime, and proceeds:
conv=noerror
Do not stop processing on an input error. When an input error occurs, a diagnostic message followed by the current input and output block counts will be written to the standard error output in the same format as the standard completion message.
As to whether a single error should mean erase, remap and pray — or, just throw the disk away... it's hard to say. But I would tend to think that scanning a little further or a little deeper is harmless, and potentially more informative (than stopping immediately).