Bug 814111

Summary: Migration failed after hotplug or unplug a virtio balloon device and then do migration with virtio scsi disk
Product: Red Hat Enterprise Linux 6 Reporter: Qunfang Zhang <qzhang>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, amit.shah, bcao, bsarathy, dyasny, juzhang, michen, mkenneth, shu, virt-maint, ypu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-04-19 10:48:22 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Qunfang Zhang 2012-04-19 09:24:01 UTC
Description of problem:
As subject. I hotplug a virtio balloon device on the guest or src host, and boot the guest with virtio balloon on dst host with listening mode. and then implement migration, failed on the dst side. The guest is installed and booted with virtio scsi disk, re-test with virtio block, does not hit this problem. 

Unplug the balloon device on src host, and migrate to the dst host (guest has no balloon device on dst host of course), can also trigger this problem.

Version-Release number of selected component (if applicable):
kernel-2.6.32-262.el6.x86_64
qemu-kvm-0.12.1.2-2.275.el6.x86_64
seabios-0.6.1.2-18.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Boot a guest with virtio balloon device and virtio scsi disk:

/usr/libexec/qemu-kvm -M rhel6.3.0 -cpu Conroe -enable-kvm -m 2G -smp 2,sockets=1,cores=2,threads=1 -name rhel6.3 -uuid 4c84db67-faf8-4498-9829-19a3d6431d9d -rtc base=localtime,driftfix=slew -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:2a:42:10:62,bus=pci.0,addr=0x3 -boot c -monitor stdio -spice port=5930,disable-ticketing -vga qxl -global qxl-vga.vram_size=33554432 -qmp tcp:0:4444,server,nowait -bios /usr/share/seabios/bios-pm.bin  -chardev socket,path=/tmp/qzhang-test-lucky,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -device virtio-balloon-pci,id=balloon0,bus=pci.0 -drive file=/dev/vgtest-qzhang/lv-6.3,if=none,format=qcow2,id=scsi0 -device virtio-scsi-pci,id=scsi0 -device scsi-disk,bus=scsi0.0,drive=scsi0,scsi-id=0,lun=0 -drive if=none,id=cd -device scsi-cd,drive=cd -usb -device usb-tablet,id=input0 


2. Boot the guest on dst host *without* virtio balloon device with listening mode:

/usr/libexec/qemu-kvm -M rhel6.3.0 -cpu Conroe -enable-kvm -m 2G -smp 2,sockets=1,cores=2,threads=1 -name rhel6.3 -uuid 4c84db67-faf8-4498-9829-19a3d6431d9d -rtc base=localtime,driftfix=slew -netdev tap,id=hostnet0,vhost=on,script=/etc/qemu-ifup -device virtio-net-pci,netdev=hostnet0,id=net0,mac=00:1a:2a:42:10:62,bus=pci.0,addr=0x3 -boot c -monitor stdio -spice port=5930,disable-ticketing -vga qxl -global qxl-vga.vram_size=33554432 -qmp tcp:0:4444,server,nowait -bios /usr/share/seabios/bios-pm.bin  -chardev socket,path=/tmp/qzhang-test-lucky,server,nowait,id=isa1 -device isa-serial,chardev=isa1,id=isa-serial1 -drive file=/dev/vgtest-qzhang/lv-6.3,if=none,format=qcow2,id=scsi0 -device virtio-scsi-pci,id=scsi0 -device scsi-disk,bus=scsi0.0,drive=scsi0,scsi-id=0,lun=0 -drive if=none,id=cd -device scsi-cd,drive=cd -usb -device usb-tablet,id=input0 -incoming tcp:0:5800

3. Hot unplug the balloon device on the guest of src host.
(qemu)device_del balloon0
(qemu)info balloon
Device 'balloon' has not been activated by the guest

4. Migrate guest from src host to dst host:
(qemu)migrate -d tcp:$dst_host_ip:5800

  
Actual results:
On dst host:
(qemu) [Thread 0x7ffff00f1700 (LWP 10397) exited]
red_dispatcher_loadvm_commands: 
handle_dev_loadvm_commands: loadvm_commands
Unknown savevm section or instance '0000:00:05.0/virtio-scsi' 0
load of migration failed


Expected results:
Migrate successfully.

Additional info:
Re-test with virtio block, does not trigger this problem.

Comment 2 Qunfang Zhang 2012-04-19 10:48:22 UTC
Specify the addr of pci device, will not hit this problem. So this case failed due to the pci addr changed after migration as they are not specified in the command line.  
So I will close this bug.