GNU bug report logs - #12630
dd doesn't print out the need for iflags=fullblocks, consistently as it is intended to; and manpage clarification?

Previous Next

Package: coreutils;

Reported by: Linda Walsh <coreutils <at> tlinx.org>

Date: Fri, 12 Oct 2012 18:55:02 UTC

Severity: normal

To reply to this bug, email your comments to 12630 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-coreutils <at> gnu.org:
bug#12630; Package coreutils. (Fri, 12 Oct 2012 18:55:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Linda Walsh <coreutils <at> tlinx.org>:
New bug report received and forwarded. Copy sent to bug-coreutils <at> gnu.org. (Fri, 12 Oct 2012 18:55:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Linda Walsh <coreutils <at> tlinx.org>
To: bug-coreutils <at> gnu.org
Subject: dd doesn't print out the need for iflags=fullblocks, consistently as
	it is intended to; and manpage clarification?
Date: Fri, 12 Oct 2012 11:52:54 -0700
dd prints out a warning message if less than the block size is read 
(though this is confusing given the posix requirement that dd buffer 
input blocks until it has reached the output block size and the code 
sets both input and output block size to 'blocksize' if 'bs' is specified.

I.e. regardless of whether or not iflags=fullblocks is set,
if bs= was used on the command line, that sets both input and output 
blocksizes.

The Code claims:
 if (blocksize)
   input_blocksize = output_blocksize = blocksize;
 else
   {
     /* POSIX says dd aggregates partial reads into
        output_blocksize if bs= is not specified.  */
     conversions_mask |= C_TWOBUFS;
   }

---
Does that mean if one sets ibs & obs, one gets full blocks, but by settings
only bs, one doesn't? 
I suppose this is in the manpage fine print where it states:

      bs=BYTES
             read and write up to BYTES bytes at a time
      ibs=BYTES
             read up to BYTES bytes at a time (default: 512)
      obs=BYTES
             write BYTES bytes at a time (default: 512)

both bs and ibs have the wording "up to" while obs does not.
Isn't that wording a bit like smarmy internet providers use
that give you speeds "up to", but in reality give less --
or that banks use on interest rates -- and in the fine print you
see minimum balance $1M to get said interest rate?...(exaggeration)...

Might want to state under both "bs" and "obs", that the only way to 
guarantee
the OBS, is to use the obs param and not the "bs" param...(if
that is true)...







This bug report was last modified 12 years and 248 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.