From unknown Tue Jun 17 22:30:32 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#12630 <12630@debbugs.gnu.org> To: bug#12630 <12630@debbugs.gnu.org> Subject: Status: dd doesn't print out the need for iflags=fullblocks, consistently as it is intended to; and manpage clarification? Reply-To: bug#12630 <12630@debbugs.gnu.org> Date: Wed, 18 Jun 2025 05:30:32 +0000 retitle 12630 dd doesn't print out the need for iflags=3Dfullblocks, consis= tently as it is intended to; and manpage clarification? reassign 12630 coreutils submitter 12630 Linda Walsh severity 12630 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Fri Oct 12 14:54:07 2012 Received: (at submit) by debbugs.gnu.org; 12 Oct 2012 18:54:07 +0000 Received: from localhost ([127.0.0.1]:41389 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TMkN4-0005NW-K0 for submit@debbugs.gnu.org; Fri, 12 Oct 2012 14:54:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:41010) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TMkN1-0005N1-RU for submit@debbugs.gnu.org; Fri, 12 Oct 2012 14:54:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TMkM6-0008Pv-57 for submit@debbugs.gnu.org; Fri, 12 Oct 2012 14:53:06 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,LOTS_OF_MONEY, RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.2 Received: from lists.gnu.org ([208.118.235.17]:37842) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMkM6-0008Pq-1k for submit@debbugs.gnu.org; Fri, 12 Oct 2012 14:53:06 -0400 Received: from eggs.gnu.org ([208.118.235.92]:48780) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMkM1-0001Jk-Su for bug-coreutils@gnu.org; Fri, 12 Oct 2012 14:53:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TMkM1-0008P9-05 for bug-coreutils@gnu.org; Fri, 12 Oct 2012 14:53:01 -0400 Received: from ishtar.tlinx.org ([173.164.175.65]:41985) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TMkM0-0008O9-MN for bug-coreutils@gnu.org; Fri, 12 Oct 2012 14:53:00 -0400 Received: from [192.168.3.12] (Athenae [192.168.3.12]) by Ishtar.tlinx.org (8.14.5/8.14.4/SuSE Linux 0.8) with ESMTP id q9CIqsih028708 for ; Fri, 12 Oct 2012 11:52:56 -0700 Message-ID: <50786706.5060105@tlinx.org> Date: Fri, 12 Oct 2012 11:52:54 -0700 From: Linda Walsh User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.24) Gecko/20100228 Lightning/0.9 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 MIME-Version: 1.0 To: bug-coreutils@gnu.org Subject: dd doesn't print out the need for iflags=fullblocks, consistently as it is intended to; and manpage clarification? Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 208.118.235.17 X-Spam-Score: -4.2 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -4.2 (----) 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)...