On 01/03/11 21:40, Pádraig Brady wrote: > On 01/03/11 17:45, Paul Eggert wrote: >> 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 :-). > > Well as I understand it, it's to do with 'count'. > count refers to the number of input reads, > both partial and full. > > So the advice to use iflag=fullblock is probably safer, > especially when a count (or skip) is specified. Thinking about it more, we should at least split up the patch. So for the oflag=direct case the attached just enables fullblock (as using C_TWOBUFS would require more mem, CPU, and also messes up if the user specified a count). I'm not sure we should try to be more clever than this, and accept that dd is a low level tool that can be used in a myriad of ways. cheers, Pádraig.