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

Reply via email to