>Synopsis:      vioblk(4) broken with large LUNs
>Category:      kernel
>Environment:
        System      : OpenBSD 5.3
        Details     : OpenBSD 5.3 (GENERIC) #53: Tue Mar 12 18:15:44 MDT 2013
                         
[email protected]:/usr/src/sys/arch/amd64/compile/GENERIC

        Architecture: OpenBSD.amd64
        Machine     : amd64
>Description:
        newfs(8) fails with EIO on a 3tbyte volume presented via vioblk(4).
        Maybe the virtio code is broken and uses 32-bit sector counters, since
        2tbytes with a 512 byte block size is 2**32 blocks.

        A 2tbyte volume is fine, and so is the same 3tbyte volume presented as a
    wd(4) instead of a vioblk(4).

>How-To-Repeat:
        Add a >2TB vioblk(4) LUN to a VM and:

        $ time sudo newfs /dev/rsd8c
        newfs: wtfs: write error on block 6442450943: Input/output error
            0m0.01s real     0m0.00s user     0m0.01s system

        I can offer root access to an affected VM.


dmesg:
OpenBSD 5.3 (GENERIC) #53: Tue Mar 12 18:15:44 MDT 2013
    [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC
real mem = 4293910528 (4094MB)
avail mem = 4157149184 (3964MB)
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xfd910 (13 entries)
bios0: vendor Bochs version "Bochs" date 01/01/2007
bios0: Bochs Bochs
acpi0 at bios0: rev 0
acpi0: sleep states S3 S4 S5
acpi0: tables DSDT FACP SSDT APIC HPET SSDT
acpi0: wakeup devices
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
acpihpet0 at acpi0: 100000000 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpicpu0 at acpi0
mpbios0 at bios0: Intel MP Specification 1.4
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: QEMU Virtual CPU version 1.1.2, 2800.79 MHz
cpu0: 
FPU,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,MMX,FXSR,SSE,SSE2,SSE3,CX16,POPCNT,NXE,LONG,LAHF
cpu0: 64KB 64b/line 2-way I-cache, 64KB 64b/line 2-way D-cache, 512KB 64b/line 
16-way L2 cache
cpu0: ITLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
cpu0: DTLB 255 4KB entries direct-mapped, 255 4MB entries direct-mapped
cpu0: apic clock running at 1000MHz
cpu at mainbus0: not configured
mpbios0: bus 0 is type PCI   
mpbios0: bus 1 is type ISA   
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 11, 24 pins
ioapic0: misconfigured as apic 0, remapped to apid 2
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x00
pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 
wired to compatibility, channel 1 wired to compatibility
pciide0: channel 0 disabled (no drives)
pciide0: channel 1 disabled (no drives)
uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: apic 2 int 11
piixpm0 at pci0 dev 1 function 3 "Intel 82371AB Power" rev 0x03: apic 2 int 9
iic0 at piixpm0
iic0: addr 0x4c 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
06=0000 07=0000
iic0: addr 0x4e 48=00 words 00=0000 01=0000 02=0000 03=0000 04=0000 05=0000 
06=0000 07=0000
vga1 at pci0 dev 2 function 0 "Cirrus Logic CL-GD5446" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
virtio0 at pci0 dev 3 function 0 "Qumranet Virtio Network" rev 0x00: Virtio 
Network Device
vio0 at virtio0: address 02:00:00:29:10:a4
virtio0: apic 2 int 11
virtio1 at pci0 dev 4 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk0 at virtio1
scsibus0 at vioblk0: 2 targets
sd0 at scsibus0 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd0: 10240MB, 512 bytes/sector, 20971520 sectors
virtio1: apic 2 int 11
virtio2 at pci0 dev 5 function 0 "Qumranet Virtio Memory" rev 0x00: Virtio 
Memory Balloon Device
viomb0 at virtio2
virtio2: apic 2 int 10
virtio3 at pci0 dev 6 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk1 at virtio3
scsibus1 at vioblk1: 2 targets
sd1 at scsibus1 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd1: 1536MB, 512 bytes/sector, 3145728 sectors
virtio3: apic 2 int 10
virtio4 at pci0 dev 7 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk2 at virtio4
scsibus2 at vioblk2: 2 targets
sd2 at scsibus2 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd2: 4096MB, 512 bytes/sector, 8388608 sectors
virtio4: apic 2 int 11
virtio5 at pci0 dev 8 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk3 at virtio5
scsibus3 at vioblk3: 2 targets
sd3 at scsibus3 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd3: 20480MB, 512 bytes/sector, 41943040 sectors
virtio5: apic 2 int 11
virtio6 at pci0 dev 9 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk4 at virtio6
scsibus4 at vioblk4: 2 targets
sd4 at scsibus4 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd4: 15360MB, 512 bytes/sector, 31457280 sectors
virtio6: apic 2 int 10
virtio7 at pci0 dev 10 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk5 at virtio7
scsibus5 at vioblk5: 2 targets
sd5 at scsibus5 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd5: 4096MB, 512 bytes/sector, 8388608 sectors
virtio7: apic 2 int 10
virtio8 at pci0 dev 11 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk6 at virtio8
scsibus6 at vioblk6: 2 targets
sd6 at scsibus6 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd6: 1048576MB, 512 bytes/sector, 2147483648 sectors
virtio8: apic 2 int 11
virtio9 at pci0 dev 12 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk7 at virtio9
scsibus7 at vioblk7: 2 targets
sd7 at scsibus7 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd7: 122880MB, 512 bytes/sector, 251658240 sectors
virtio9: apic 2 int 11
virtio10 at pci0 dev 13 function 0 "Qumranet Virtio Storage" rev 0x00: Virtio 
Block Device
vioblk8 at virtio10
scsibus8 at vioblk8: 2 targets
sd8 at scsibus8 targ 0 lun 0: <VirtIO, Block Device, > SCSI3 0/direct fixed
sd8: 2097152MB, 512 bytes/sector, 4294967296 sectors
virtio10: apic 2 int 10
virtio11 at pci0 dev 14 function 0 "Qumranet Virtio Network" rev 0x00: Virtio 
Network Device
vio1 at virtio11: address 02:00:00:29:10:a5
virtio11: apic 2 int 10
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com0: console
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
spkr0 at pcppi0
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: density unknown
fd1 at fdc0 drive 1: density unknown
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
nvram: invalid checksum
mtrr: Pentium Pro MTRR support
vscsi0 at root
scsibus9 at vscsi0: 256 targets
softraid0 at root
scsibus10 at softraid0: 256 targets
root on sd0a (51da945410168221.a) swap on sd0b dump on sd0b
WARNING: / was not properly unmounted
clock: unknown CMOS layout

usbdevs:
Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000), 
Intel(0x8086), rev 1.00
 port 1 powered
 port 2 powered

# /dev/sd8c:
type: SCSI
disk: SCSI disk
label: Block Device    
duid: 722143e1687c45cb
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 267349
total sectors: 4294967296
boundstart: 0
boundend: 4294967296
drivedata: 0 

16 partitions:
#                size           offset  fstype [fsize bsize  cpg]
  c:       4294967296                0  4.2BSD   2048 16384    1 

Reply via email to