The command cat /dev/zero | dd bs=1000 count=20000 doesn't always produce the desired number of bytes. Is this supposed to happen?
# cat bug t=`mktemp` for i in `jot 100`; do cat /dev/zero | dd bs=1000 count=20000 > /dev/null 2> $t grep -q '^20000+0 records in' $t || cat $t done rm $t # sh bug 18840+1160 records in 18840+1160 records out 19285968 bytes transferred in 0.052 secs (364753338 bytes/sec) 19779+221 records in 19779+221 records out 19864200 bytes transferred in 0.059 secs (333040490 bytes/sec) 19763+237 records in 19763+237 records out 19854024 bytes transferred in 0.059 secs (333238624 bytes/sec) 19556+444 records in 19556+444 records out 19726120 bytes transferred in 0.058 secs (338558654 bytes/sec) 18824+1176 records in 18824+1176 records out 19275584 bytes transferred in 0.053 secs (360001942 bytes/sec) 19902+98 records in 19902+98 records out 19939328 bytes transferred in 0.060 secs (330077606 bytes/sec) 19780+220 records in 19780+220 records out 19864920 bytes transferred in 0.059 secs (332617585 bytes/sec) # dmesg: OpenBSD 4.7-current (GENERIC) #603: Mon Apr 12 16:28:26 MDT 2010 dera...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/GENERIC cpu0: Intel(R) Pentium(R) M processor 1600MHz ("GenuineIntel" 686-class) 1.61 GHz cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,TM,SBF,EST,TM2 real mem = 527265792 (502MB) avail mem = 501395456 (478MB) mainbus0 at root bios0 at mainbus0: AT/286+ BIOS, date 06/10/03, SMBIOS rev. 2.3 @ 0xf5620 (37 entries) bios0: vendor American Megatrends Inc. version "0206" date 06/10/2003 bios0: ASUSTeK Computer Inc. M2N apm0 at bios0: Power Management spec V1.2 apm0: AC on, no battery acpi at bios0 function 0x0 not configured pcibios at bios0 function 0x1a not configured bios0: ROM list: 0xc0000/0xd000 cpu0 at mainbus0: (uniprocessor) cpu0: Enhanced SpeedStep 1601 MHz: speeds: 1600, 1400, 1200, 1000, 800, 600 MHz pci0 at mainbus0 bus 0: configuration mode 1 (bios) pchb0 at pci0 dev 0 function 0 "Intel 82855GM Host" rev 0x02 "Intel 82855GM Memory" rev 0x02 at pci0 dev 0 function 1 not configured "Intel 82855GM Config" rev 0x02 at pci0 dev 0 function 3 not configured vga1 at pci0 dev 2 function 0 "Intel 82855GM Video" rev 0x02 wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation) wsdisplay0: screen 1-5 added (80x25, vt100 emulation) intagp0 at vga1 agp0 at intagp0: aperture at 0xf0000000, size 0x8000000 inteldrm0 at vga1: irq 5 drm0 at inteldrm0 "Intel 82855GM Video" rev 0x02 at pci0 dev 2 function 1 not configured uhci0 at pci0 dev 29 function 0 "Intel 82801DB USB" rev 0x03: irq 5 uhci1 at pci0 dev 29 function 1 "Intel 82801DB USB" rev 0x03: irq 5 uhci2 at pci0 dev 29 function 2 "Intel 82801DB USB" rev 0x03: irq 5 ehci0 at pci0 dev 29 function 7 "Intel 82801DB USB" rev 0x03: irq 4 ehci0: timed out waiting for BIOS usb0 at ehci0: USB revision 2.0 uhub0 at usb0 "Intel EHCI root hub" rev 2.00/1.00 addr 1 ppb0 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0x83 pci1 at ppb0 bus 1 cbb0 at pci1 dev 3 function 0 "Ricoh 5C476 CardBus" rev 0xa9: couldn't map interrupt cbb1 at pci1 dev 3 function 1 "Ricoh 5C476 CardBus" rev 0xa9: couldn't map interrupt "Ricoh 5C552 Firewire" rev 0x01 at pci1 dev 3 function 2 not configured rl0 at pci1 dev 4 function 0 "Realtek 8139" rev 0x10: irq 5, address 00:e0:18:06:ac:25 rlphy0 at rl0 phy 0: RTL internal PHY ipw0 at pci1 dev 5 function 0 "Intel PRO/Wireless 2100" rev 0x04: irq 5, address 00:04:23:77:1d:5e ichpcib0 at pci0 dev 31 function 0 "Intel 82801DBM LPC" rev 0x03: 24-bit timer at 3579545Hz pciide0 at pci0 dev 31 function 1 "Intel 82801DBM IDE" rev 0x03: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility wd0 at pciide0 channel 0 drive 0: <IC25N060ATMR04-0> wd0: 16-sector PIO, LBA48, 57231MB, 117210240 sectors wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 5 atapiscsi0 at pciide0 channel 1 drive 0 scsibus0 at atapiscsi0: 2 targets cd0 at scsibus0 targ 0 lun 0: <TOSHIBA, DVD-ROM SD-R2312, 1708> ATAPI 5/cdrom removable cd0(pciide0:1:0): using PIO mode 4, Ultra-DMA mode 2 auich0 at pci0 dev 31 function 5 "Intel 82801DB AC97" rev 0x03usb1 at uhci0: USB revision 1.0 uhub1 at usb1 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb2 at uhci1: USB revision 1.0 uhub2 at usb2 "Intel UHCI root hub" rev 1.00/1.00 addr 1 usb3 at uhci2: USB revision 1.0 uhub3 at usb3 "Intel UHCI root hub" rev 1.00/1.00 addr 1 isa0 at ichpcib0 isadma0 at isa0 com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo pckbc0 at isa0 port 0x60/5 pckbd0 at pckbc0 (kbd slot) pckbc0: using irq 1 for kbd slot wskbd0 at pckbd0: console keyboard, using wsdisplay0 pms0 at pckbc0 (aux slot) pckbc0: using irq 12 for aux slot wsmouse0 at pms0 mux 0 pcppi0 at isa0 port 0x61 midi0 at pcppi0: <PC speaker> spkr0 at pcppi0 lpt0 at isa0 port 0x378/4 irq 7 npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16 fdc0 at isa0 port 0x3f0/6 irq 6 drq 2 pcic0 at isa0 port 0x3e0/2 iomem 0xd0000/65536 pcic0 controller 0: <Intel 82365SL rev 1> has sockets A and B pcmcia0 at pcic0 controller 0 socket 0 pcmcia1 at pcic0 controller 0 socket 1 pcic0: irq 9, polling enabled biomask ed75 netmask ed75 ttymask ffff mtrr: Pentium Pro MTRR support umass0 at uhub0 port 2 configuration 1 interface 0 "SMI Corporation USB DISK" rev 2.00/11.00 addr 2 umass0: using SCSI over Bulk-Only scsibus1 at umass0: 2 targets, initiator 0 sd0 at scsibus1 targ 1 lun 0: <USB, Stick 2.0 ME, 1100> SCSI0 0/direct removable sd0: 967MB, 512 bytes/sec, 1981440 sec total vscsi0 at root scsibus2 at vscsi0: 256 targets softraid0 at root root on sd0a swap on sd0b dump on sd0b