Subject: bug#38186: closed (Re: bug#38186: dd doesn't copy whole file when specifying units with bs)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 13 Nov 2019 16:18:06 +0000

Your bug report

#38186: dd doesn't copy whole file when specifying units with bs

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
38186: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=38186
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#38186: dd doesn't copy whole file when specifying units with bs
From: Jack Hill <[email-masked]>
To: Clément Lassieur <[email-masked]>
Cc: [email-masked]
Date: Wed, 13 Nov 2019 11:17:43 -0500 (EST)
List-Id: <debbugs-submit.debbugs.gnu.org>

On Tue, 12 Nov 2019, Clément Lassieur wrote:

> Does this[1] help?
>
> [1]: https://superuser.com/questions/730801/dd-immidiately-completes-but-actually-needs-sync

Indeed it does. I guess I just got lucky with the second invocation that 
data got written out. Thanks very much for the pointer, and sorry for the 
extra noise.

Since I no longer believe this to be a bug, I'm closing it.

Best,
Jack

Subject: dd doesn't copy whole file when specifying units with bs
From: Jack Hill <[email-masked]>
To: [email-masked]
Date: Tue, 12 Nov 2019 15:47:19 -0500 (EST)
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Guix,

It seems that my version of dd from coreutils-8.31 does not seem to work 
correctly when using units with the bs option (e.g. bs=1M). In the 
terminal session below, I first use bs=1M. The output looks okay: dd 
appears to have copied the whole 2.3GiB file, but it has done so 
impossibly quickly. It turns out that went so quickly because the whole 
file has not been copied. If instead of using the units modifier, I 
specify the same number of bytes directly, everything seems to work as 
expected (notice the slower speed).

I have not determined whether this problem is specific to Guix.

```
$ sudo dd if=image.iso of=/dev/sda bs=1M
2349+1 records in
2349+1 records out
2463842304 bytes (2.5 GB, 2.3 GiB) copied, 1.0693 s, 2.3 GB/s
$ sudo dd if=image.iso of=/dev/sda bs=1048576
2349+1 records in
2349+1 records out
2463842304 bytes (2.5 GB, 2.3 GiB) copied, 3.03265 s, 812 MB/s
$ ls -l /run/current-system/profile/bin/dd
lrwxrwxrwx 18 root root 65 Dec 31  1969 /run/current-system/profile/bin/dd 
-> /gnu/store/9kzrrccpzl6i1sfwb0drb00gi2gwk0x0-coreutils-8.31/bin/dd
$ guix describe
Generation 42	Oct 28 2019 11:51:58	(current)
   guix 8c8d607
     repository URL: https://git.savannah.gnu.org/git/guix.git
     branch: master
     commit: 8c8d60752e1ad73d5bd87d8497b357f8a8a389ab
```

Best,
Jack