bug-fileutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

dd documentation error: bs vs ibs+obs


From: Antonios Christofides
Subject: dd documentation error: bs vs ibs+obs
Date: Thu, 8 May 2003 17:00:58 +0300
User-agent: Mutt/1.3.28i

Hi,

according to the documentation, 'bs=X' is the same as 'ibs=X obs=X'.
However, this is not the case. Specifying either ibs or obs results in
the C_TWOBUF flag being set, resulting in partial blocks being combined.

In addition, using bs does not exactly override ibs and obs. If bs and
one or both of (ibs,obs) are specified, C_TWOBUF is always set, and the
actual block sizes depend on the order with which the options have been
specified on the command line. I don't think anyone actually uses bs
together with ibs or obs, so it's probably better to not say anything
about it.

Here are proposed documentation changes.

--- doc/fileutils.texi  Mon Apr 23 10:36:22 2001
+++ doc/fileutils.texi  Thu May  8 16:30:37 2003
@@ -1567,8 +1567,13 @@
 @item address@hidden
 @opindex bs
 @cindex block size
-Both read and write @var{bytes} bytes at a time.  This overrides
address@hidden and @samp{obs}.
+Both read and write @var{bytes} bytes at a time. This is roughly equivalent to
+specifying @address@hidden and @address@hidden, but behaves
+differently when dd reads from a pipe. Specifically, when @samp{bs} is
+specified, @code{dd} uses a single buffer for both input and output, and
+partial blocks will be written if partial blocks are read. When either
address@hidden or @samp{obs} is specified, different input and output buffers 
are
+used, and the output is always blocked as specified by @samp{obs}.
 
 @item address@hidden
 @opindex cbs


--- ../fileutils-4.1/src/dd.c   Sun Apr 22 16:21:58 2001
+++ src/dd.c    Thu May  8 16:54:50 2003
@@ -293,7 +293,7 @@
       printf (_("\
 Copy a file, converting and formatting according to the options.\n\
 \n\
-  bs=BYTES        force ibs=BYTES and obs=BYTES\n\
+  bs=BYTES        read and write BYTES bytes at a time\n\
   cbs=BYTES       convert BYTES bytes at a time\n\
   conv=KEYWORDS   convert the file as per the comma separated keyword list\n\
   count=BLOCKS    copy only BLOCKS input blocks\n\




reply via email to

[Prev in Thread] Current Thread [Next in Thread]