Bug 1004773

Summary: Hyper-V guest OS id and hypercall MSRs not migrated
Product: Red Hat Enterprise Linux 7 Reporter: Paolo Bonzini <pbonzini>
Component: qemu-kvmAssignee: Vadim Rozenfeld <vrozenfe>
Status: CLOSED CURRENTRELEASE QA Contact: Virtualization Bugs <virt-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.0CC: acathrow, bcao, juzhang, knoel, mrezanin, pbonzini, qzhang, virt-maint, xfu
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-1.5.3-52.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: 1004743 Environment:
Last Closed: 2014-06-13 12:38:42 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:
Bug Depends On:    
Bug Blocks: 889670, 915399    

Description Paolo Bonzini 2013-09-05 13:02:59 UTC
This subsection does not exist upstream:

static const VMStateDescription vmstate_msr_hyperv_hypercall = {
    .name = "cpu/msr_hyperv_hypercall",
    .version_id = 1,
    .minimum_version_id = 1,
    .minimum_version_id_old = 1,
    .fields      = (VMStateField []) {
        VMSTATE_UINT64(hyperv_guest_os_id, CPUState),
        VMSTATE_UINT64(hyperv_hypercall, CPUState),
        VMSTATE_END_OF_LIST()
    }
};


If the guest OS id is non-zero, RHEL7 will fail to load the migration data.

Comment 3 Vadim Rozenfeld 2014-02-12 11:42:33 UTC
build:
https://brewweb.devel.redhat.com/taskinfo?taskID=7027521

Comment 5 Miroslav Rezanina 2014-03-05 16:48:11 UTC
Fix included in qemu-kvm-1.5.3-52.el7

Comment 6 Miroslav Rezanina 2014-03-05 16:48:41 UTC
Fix included in qemu-kvm-1.5.3-52.el7

Comment 7 Miroslav Rezanina 2014-03-05 16:49:01 UTC
Fix included in qemu-kvm-1.5.3-52.el7

Comment 9 Qunfang Zhang 2014-03-13 10:15:08 UTC
Reproduced this bug on qemu-kvm-1.5.3-51.el7 and verified pass on  qemu-kvm-1.5.3-53.el7.

Steps:
Same as comment 2. 

On the old version qemu-kvm-1.5.3-51.el7, after migration finish, the guest failed to load on the destination host: 


[root@intel-e31225-8-3 ~]#  /usr/libexec/qemu-kvm -M rhel6.5.0 -cpu SandyBridge,hv_relaxed -enable-kvm -m 4G  -smp 4 -name rhel6.5 -no-kvm-pit-reinjection -usb -device usb-tablet,id=input0 -rtc base=localtime,clock=host,driftfix=slew -uuid 6afa5f93-2d4f-420f-81c6-e5fdddbd1c83 -net none -vnc :1  -monitor stdio -serial unix:/tmp/monitor2,server,nowait -drive file=/mnt/win7-32-virtio.qcow2,if=none,id=drive-data-disk2,format=qcow2,cache=none,werror=stop,rerror=stop -device virtio-scsi-pci,bus=pci.0,addr=0x8,id=scsi1 -device scsi-disk,drive=drive-data-disk2,id=data-disk2 -boot menu=on -device virtio-serial-pci,id=virtio-serial0,max_ports=16,vectors=0,bus=pci.0,addr=0x9 -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 -device virtserialport,chardev=channel2,name=com.redhat.rhevm.vdsm,bus=virtio-serial0.0,id=port2 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -k en-us -boot menu=on  -device virtio-balloon-pci,id=balloon0 -incoming tcp:0:5800
Warning: option deprecated, use lost_tick_policy property of kvm-pit instead.
QEMU 1.5.3 monitor - type 'help' for more information
(qemu) 
(qemu) 
(qemu) qemu: warning: error while loading state for instance 0x0 of device 'cpu'
load of migration failed


On the fixed version qemu-kvm-1.5.3-53.el7, migration could finish successfully and guest is live. 

Based on above, the bug is verified pass.

Comment 10 Ludek Smid 2014-06-13 12:38:42 UTC
This request was resolved in Red Hat Enterprise Linux 7.0.

Contact your manager or support representative in case you have further questions about the request.