Red Hat Bugzilla – Bug 977760
fail to boot guest attaching with vmdk format data disk(virito/virtio-scsi interface)
Last modified: 2013-11-21 02:01:17 EST
Description of problem: create a vmdk format data disk, then attach it to guest with virtio/virtio-scsi interface specified readonly=on, but qemu fail to boot up. Version-Release number of selected component (if applicable): host info: 2.6.32-392.el6.x86_64 qemu-kvm-0.12.1.2-2.376.el6.x86_64 guest info: 2.6.32-392.el6.x86_64 How reproducible: 100% Steps to Reproduce: 1.create a vmdk format data disk. # qemu-img create -f vmdk vmdk-data-disk.vmdk 10G Formatting 'vmdk-data-disk.vmdk', fmt=vmdk size=10737418240 compat6=off zeroed_grain=off # qemu-img info vmdk-data-disk.vmdk image: vmdk-data-disk.vmdk file format: vmdk virtual size: 10G (10737418240 bytes) disk size: 12K 2.attach it to guest with virtio/virtio-scsi interface specified readonly=on to boot a guest. e.g: ...-drive file=/home/vmdk-data-disk.vmdk,if=none,id=drive-data-disk,format=vmdk,readonly -device virtio-blk-pci,drive=drive-data-disk,id=data-disk ...-drive file=/home/vmdk-data-disk.vmdk,if=none,format=vmdk,id=drive-data-disk,cache=none,aio=native,serial=QEMU-DISK2,readonly=on -device virtio-scsi-pci,bus=pci.0,addr=0x8,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bus=scsi0.0 Actual results: after step 2, qemu fail to boot up guest with prompt that 'vmdk' invalid format. ...-drive file=/home/vmdk-data-disk.vmdk,if=none,format=vmdk,id=drive-data-disk,cache=none,aio=native,serial=QEMU-DISK2,readonly=on -device virtio-scsi-pci,bus=pci.0,addr=0x8,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bus=scsi0.0 qemu-kvm: -drive file=/home/vmdk-data-disk.vmdk,if=none,format=vmdk,id=drive-data-disk,cache=none,aio=native,serial=QEMU-DISK2,readonly=on: 'vmdk' invalid format ...-drive file=/home/vmdk-data-disk.vmdk,if=none,id=drive-data-disk,format=vmdk,readonly=on -device virtio-blk-pci,drive=drive-data-disk,id=data-disk qemu-kvm: -drive file=/home/vmdk-data-disk.vmdk,if=none,id=drive-data-disk,format=vmdk,readonly=on: 'vmdk' invalid format Expected results: it could boot guest attaching with vmdk data disk(virtio/virtio-scsi) successfully. Additional info:
my whole qemu-kvm command line: # /usr/libexec/qemu-kvm -M rhel6.5.0 -S -enable-kvm -m 4096 -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -uuid 350e716b-5f98-4bf0-9a2a-c8e423295244 -rtc base=localtime,clock=host,driftfix=slew -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x3 -chardev socket,id=channel1,path=/tmp/helloworld1,server,nowait -device virtserialport,chardev=channel1,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -drive file=/home/RHEL-Server-6.4-64-virtio.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none -device virtio-blk-pci,scsi=off,bus=pci.0,addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device e1000,netdev=hostnet0,id=virtio-net-pci0,mac=08:2E:5F:0A:1D:B1,bus=pci.0,addr=0x5 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x6 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -spice port=5930,disable-ticketing -vga qxl -global qxl-vga.vram_size=67108864 -monitor stdio -device virtio-serial-pci,id=virtio-serial1 -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 -drive file=/home/vmdk-data-disk.vmdk,if=none,id=drive-data-disk,format=vmdk,readonly=on -device virtio-blk-pci,drive=drive-data-disk,id=data-disk
Build flags are incomplete for block driver whitelist, will fix by adding vmdk to readonly driver list.
Fixed in qemu-kvm-0.12.1.2-2.379.el6
Verify this issue on qemu-kvm-0.12.1.2-2.379.el6.x86_64. host info: 2.6.32-398.el6.x86_64 qemu-kvm-0.12.1.2-2.379.el6.x86_64 guest info: 2.6.32-398.el6.x86_64 Steps: same to comment #0 Results: It cand boot guest attaching with vmdk data disk(virtio/virtio-scsi) successfully. e.g1:...-drive file=/home/vmdk-data-disk.vmdk,if=none,format=vmdk,id=drive-data-disk,cache=none,aio=native,serial=QEMU-DISK2,readonly=on -device virtio-scsi-pci,bus=pci.0,addr=0x8,id=scsi0 -device scsi-hd,drive=drive-data-disk,id=data-disk,bus=scsi0.0 # fdisk -l | grep /dev/sda Disk /dev/sda: 10.7 GB, 10737418240 bytes # mkfs.ext4 /dev/sda mke2fs 1.41.12 (17-May-2010) /dev/sda is entire device, not just one partition! Proceed anyway? (y,n) y /dev/sda: Read-only file system while setting up superblock e.g2:...-drive file=/home/vmdk-data-disk.vmdk,if=none,id=drive-data-disk,format=vmdk,readonly=on -device virtio-blk-pci,drive=drive-data-disk,id=data-disk # fdisk -l | grep /dev/vda Disk /dev/vda: 10.7 GB, 10737418240 bytes # mkfs.ext4 /dev/vda mke2fs 1.41.12 (17-May-2010) /dev/vda: Operation not permitted while setting up superblock Base on above, this issue has been fixed correctly. Best Regards, sluo
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. http://rhn.redhat.com/errata/RHSA-2013-1553.html