On 03/01/2011 03:27 AM, Pádraig Brady wrote:
So the standard way to accumulate short reads to a full write, is to specify separate ibs and obs (we'd probably want to prompt about setting obs too for efficiency)
Yes, good point, the diagnostic should suggest ibs=N obs=N (instead of just ibs=N). By the way, the relationship between fullblock and ibs=N obs=N is a curious one, one that I don't fully understand. If you have ibs=N obs=N, why would you need fullblock? This should probably be documented (preferably by someone who understands it :-).
* Rather than warn about potential problems, how about diagnosing the problems only when they actually occur? That would help us avoid crying wolf.I like that idea, except that users might only hit an issue on particular runs, or when moving from a test file to a pipe in production.
True in both cases, but in practice these problems would be pretty rare compared to the problem of dd crying wolf. It's fairly common for people to use dd bs=N to extract sections of regular files, e.g., "dd bs=1k count=1 seek=1 if=bigfile", and issuing warnings in these cases (when dd operates perfectly well) would cause unnecessary confusion.
Checking POSIXLY_CORRECT allows one to disable the warnings
Yes, but POSIXLY_CORRECT should be used only to make a program conform to POSIX when the default behavior does not conform. It shouldn't be used for auxiliary purposes such as suppressing warnings. If we want an option to suppress warnings, we should add one; but we shouldn't overload POSIXLY_CORRECT.
