Red Hat Bugzilla – Bug 1146826
QEMU will not reject invalid number of queues (num_queues = 0) specified for virtio-scsi
Last modified: 2015-03-05 04:56:12 EST
host info: # uname -r && rpm -q qemu-kvm-rhev 3.10.0-147.el7.x86_64 qemu-kvm-rhev-2.1.0-4.el7.x86_64 # /usr/libexec/qemu-kvm -M pc -S -cpu SandyBridge -enable-kvm -m 4096 -smp 4,sockets=2,cores=2,threads=1 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -name sluo -uuid 990ea161-6b67-47b2-b803-19fb01d30d30 -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.1,bus=virtio-serial0.0,id=port1 -chardev socket,id=channel2,path=/tmp/helloworld2,server,nowait -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm.2,bus=virtio-serial0.0,id=port2 -drive file=/home/RHEL-7.0-20140507.0-Server-x86_64.qcow2,if=none,id=drive-system-disk,format=qcow2,cache=none,aio=native,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x4,id=scsi0 -device scsi-hd,drive=drive-system-disk,id=system-disk,bus=scsi0.0,bootindex=1 -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=virtio-net-pci0,mac=00:01:02:B6:11:21,bus=pci.0,addr=0x5 -device virtio-balloon-pci,id=ballooning,bus=pci.0,addr=0x6 -k en-us -boot menu=on -qmp tcp:0:4444,server,nowait -serial unix:/tmp/ttyS0,server,nowait -vnc :1 -spice disable-ticketing,port=5931 -monitor stdio -device virtio-scsi-pci,id=scsi1,bus=pci.0,addr=0x7,num_queues=0
... [ 1.907277] Stack: [ 1.907277] ffff88013631d800 ffff88013622f740 0000000000000003 ffff88013950f8a0 [ 1.907277] ffff8800368b7b78 ffffffffa0164ebc ffff88013622f740 ffff88013631d800 [ 1.907277] ffff8800368b7bd8 ffffffffa0165514 ffff88013950ffe0 00000000fffffffe [ 1.907277] Call Trace: [ 1.907277] [<ffffffffa0164ebc>] virtscsi_remove_vqs+0x2c/0x50 [virtio_scsi] [ 1.907277] [<ffffffffa0165514>] virtscsi_init+0x134/0x2a0 [virtio_scsi] [ 1.907277] [<ffffffffa01657ef>] virtscsi_probe+0xef/0x27c [virtio_scsi] [ 1.907277] [<ffffffffa00b17c0>] ? vp_reset+0x90/0x90 [virtio_pci] [ 1.907277] [<ffffffffa00221d2>] virtio_dev_probe+0xe2/0x150 [virtio] [ 1.907277] [<ffffffff813b6bd7>] driver_probe_device+0x87/0x390 [ 1.907277] [<ffffffff813b6fb3>] __driver_attach+0x93/0xa0 [ 1.907277] [<ffffffff813b6f20>] ? __device_attach+0x40/0x40 [ 1.907277] [<ffffffff813b4963>] bus_for_each_dev+0x73/0xc0 [ 1.907277] [<ffffffff813b662e>] driver_attach+0x1e/0x20 [ 1.907277] [<ffffffff813b6180>] bus_add_driver+0x200/0x2d0 [ 1.907277] [<ffffffffa016a000>] ? 0xffffffffa0169fff [ 1.907277] [<ffffffff813b7634>] driver_register+0x64/0xf0 [ 1.907277] [<ffffffffa016a000>] ? 0xffffffffa0169fff [ 1.907277] [<ffffffffa0022540>] register_virtio_driver+0x20/0x30 [virtio] [ 1.907277] [<ffffffffa016a085>] init+0x85/0x1000 [virtio_scsi] [ 1.907277] [<ffffffff810020e2>] do_one_initcall+0xe2/0x190 [ 1.907277] [<ffffffff810ca97b>] load_module+0x129b/0x1a90 [ 1.907277] [<ffffffff812da680>] ? ddebug_proc_write+0xf0/0xf0 [ 1.907277] [<ffffffff810c72b3>] ? copy_module_from_fd.isra.43+0x53/0x150 [ 1.907277] [<ffffffff810cb326>] SyS_finit_module+0xa6/0xd0 [ 1.907277] [<ffffffff815f2d59>] system_call_fastpath+0x16/0x1b [ 1.907277] Code: e1 39 c3 74 7e 45 84 f6 75 61 41 8b 84 24 c8 01 00 00 31 db 85 c0 74 3b 0f 1f 00 48 63 c3 48 83 c0 20 48 c1 e0 04 49 8b 7c 04 10 <48> 8b 47 20 48 8b 80 b0 02 00 00 48 8b 40 50 48 85 c0 74 07 be [ 1.907277] RIP [<ffffffffa0164db0>] __virtscsi_set_affinity+0x60/0x140 [virtio_scsi] [ 1.907277] RSP <ffff8800368b7b38> [ 1.907277] CR2: 0000000000000020 [ 1.979761] ---[ end trace 051471569795425c ]--- [ 1.980591] [TTM] Zone kernel: Available graphics memory: 1941584 kiB [ 1.980593] [TTM] Initializing pool allocator [ 1.980598] [TTM] Initializing DMA pool allocator [ 1.981149] [drm] fb mappable at 0x0 [ 1.981150] [drm] vram aper at 0x0 [ 1.981150] [drm] size 0 [ 1.981151] [drm] fb depth is 24 [ 1.981152] [drm] pitch is 3840 ...
Fix included in qemu-kvm-rhev-2.1.2-7.el7
verify this issue on qemu-kvm-rhev-2.1.2-7.el7.x86_64. host info: # uname -r && rpm -q qemu-kvm-rhev 3.10.0-183.el7.x86_64 qemu-kvm-rhev-2.1.2-7.el7.x86_64 e.g:...-drive file=/dev/sde,if=none,id=drive-usb-disk,cache=writeback,aio=native -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=0 -device scsi-block,bus=scsi0.0,drive=drive-usb-disk,id=usb-disk Warning: option deprecated, use lost_tick_policy property of kvm-pit instead. QEMU 2.1.2 monitor - type 'help' for more information (qemu) qemu-kvm: -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=0: Invalid number of queues (= 0), must be a positive integer less than 62. qemu-kvm: -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=0: Device initialization failed. qemu-kvm: -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=0: Device 'virtio-scsi-pci' could not be initialized Base on above, this issue has been fixed correctly, move to VERIFIED status, please correctly me if any mistake, thanks. Best Regards, sluo
e.g:...-drive file=/dev/sde,if=none,id=drive-usb-disk,cache=writeback,aio=native -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=63 -device scsi-block,bus=scsi0.0,drive=drive-usb-disk,id=usb-disk Warning: option deprecated, use lost_tick_policy property of kvm-pit instead. QEMU 2.1.2 monitor - type 'help' for more information (qemu) qemu-kvm: -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=63: Invalid number of queues (= 63), must be a positive integer less than 62. qemu-kvm: -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=63: Device initialization failed. qemu-kvm: -device virtio-scsi-pci,id=scsi0,bus=pci.0,addr=0x6,num_queues=63: Device 'virtio-scsi-pci' could not be initialized
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. https://rhn.redhat.com/errata/RHSA-2015-0624.html