Hide Forgot
Description of problem: Currently,if using the same bootindex values to hot-plug two devices, qemu will quit immediately. Version-Release number of selected component (if applicable): # rpm -qa|grep qemu qemu-kvm-tools-0.12.1.2-2.212.el6.x86_64 # uname -r 2.6.32-220.el6.x86_64 How reproducible: always Steps to Reproduce: 1.# /usr/libexec/qemu-kvm -M rhel6.2.0 -m 4096 -smp 4,cores=2,threads=1,sockets=2 -cpu cpu64-rhel6,+sse2,+x2apic -name rhel6.2-64 -chardev socket,id=serial_id_20111215,path=/tmp/serial,server,nowait -device isa-serial,chardev=serial_id_20111215 -drive file=/home/win2008r2-sp1-3.qcow2,index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,format=qcow2,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1,bootindex=1 -device virtio-net-pci,netdev=idbEmLYK,mac=9a:3c:3a:f0:b4:1a,id=ndev00idbEmLYK,bus=pci.0,addr=0x3 -netdev tap,id=idbEmLYK,vhost=on -rtc base=utc,clock=host,driftfix=slew -boot order=cdn,once=d,menu=on -no-kvm-pit-reinjection -usb -device usb-tablet -enable-kvm -chardev socket,id=qmp_monitor_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1,server,nowait -mon chardev=qmp_monitor_id_qmpmonitor1,mode=control -spice port=5912,disable-ticketing -vga qxl -monitor stdio -drive file=/home/second-disk-3.qcow2,index=1,if=none,id=drive-virtio-disk2,media=disk,cache=none,format=qcow2,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,id=virtio-disk2,bootindex=2 2.(qemu)device_del virtio-disk2 3.(qemu) __com.redhat_drive_add file=/home/second-disk-3.qcow2,id=drive-virtio-disk2,media=disk,cache=none,format=qcow2,aio=native (qemu) device_add virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,id=virtio-disk2,bootindex=2 Actual results: qemu quit, and show below info Two devices with same boot index 2 Expected results: qemu work well(shouldn't quit) and reserve tips for correct information Additional info:
> 2.(qemu)device_del virtio-disk2 > > 3.(qemu) __com.redhat_drive_add > file=/home/second-disk-3.qcow2,id=drive-virtio-disk2,media=disk,cache=none,format=qcow2,aio=native > (qemu) device_add > virtio-blk-pci,bus=pci.0,addr=0x5,drive=drive-virtio-disk2,id=virtio-disk2,bootindex=2 > Maybe the key reason is step2 "device_del virtio-disk2" did not remove bootindex flag:"bootindex=2". As usual,device_del should delete all virtio-disk2 related flags and address. after device_del, all flags and address can be re-use.
Gleb, Dev_ack+ for 6.4, to allow you a convenient moment to deal with this err-msg issue. We'll move to 6.3 if you do it earlier.
Not worth fixing for RHEL 6.x because customers are unlikely to hit this problem. -> Move to 7.0.
Removed RFE since is a plain bug. Splitting into 2 bugs: 1. qemu should give a message and return error and not quit 2. del_device should remove the device from boot order list I am going to work on it, so cond_nack upstream.
The boot order is passed in fw cfg and updated only once at "machine done". There is no update of this list after this point. Modifying the boot order from monitor does not work at all. So in order to solve this issue we can: 1. Don't allow use of bootindex at hot-plug 2. Change the architecture so boot order changing during hot-plug will be possible Currently discussed upstream
*** Bug 969968 has been marked as a duplicate of this bug. ***
Moved to qemu-kvm-rhev because: 1. It is not a regression 2. The upstream featyre has a 30 patches series that solves a much bigger issue: botindex change between VM reboots
BZ 1086603 is much wider and the upstream series solves it. *** This bug has been marked as a duplicate of bug 1086603 ***