Bug 1024311

Summary: Qemu-ga failed to do "guest-fsfreeze-freeze" with sata backend windows guest
Product: Red Hat Enterprise Linux 7 Reporter: Qian Guo <qiguo>
Component: qemu-kvmAssignee: Yvugenfi <yvugenfi>
Status: CLOSED CURRENTRELEASE QA Contact: Xueqiang Wei <xuwei>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0CC: ailan, coli, ghammer, hhuang, jcody, juzhang, knoel, kwolf, michen, qiguo, qzhang, rbalakri, stefanha, virt-maint, xuwei
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-28 09:10:52 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 Qian Guo 2013-10-29 11:23:23 UTC
Description of problem:
Boot a windows7 32bit guest with sata backend disk, install and start qemu-ga service, in host, when do "guest-fsfreeze-freeze" to this guest, failed like this:

{"execute":"guest-fsfreeze-freeze" }
{"error": {"desc": "failed to add \\\\?\\Volume{9af402e9-40ee-11e3-b3be-806e6f6e6963}\\ to snapshot set:  (error: 8004230f)"}}

1.Both q35 and pc hit this issue, and virtio-blk has no such issue (virtio-win-prewhql-0.1-72 driver installed).

2.Rhel guest no such issue.

Version-Release number of selected component (if applicable):
# uname -r
3.10.0-37.el7.x86_64
# rpm -q qemu-kvm
qemu-kvm-1.5.3-10.el7.x86_64

windows7 32bit guest, with qemu-ga-win-6.5-4(qemu-ga-x86.msi ) service installed and start
How reproducible:
100%

Steps to Reproduce:
1.Boot a windows7 32bit guest with sata backend:
# /usr/libexec/qemu-kvm -M q35 -cpu SandyBridge -enable-kvm -m 4096 -smp 4,sockets=1,cores=4,threads=1 -name win732 -rtc base=localtime,clock=host,driftfix=slew -drive file=/home/win7x861cp1.qcow2_v3,format=qcow2,if=none,id=drive-ide0-0-0,format=qcow2 -device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 -global PIIX4_PM.disable_s3=0 -global PIIX4_PM.disable_s4=0 -spice port=5800,disable-ticketing -vga qxl -global qxl-vga.vram_size=67108864 -monitor stdio  -boot menu=on  -chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 -device virtio-serial -device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0

2.Start qemu-ga service in guest

3.In host, do 
{"execute":"guest-fsfreeze-status"}
{"return": "thawed"}

{"execute":"guest-fsfreeze-freeze" }
Actual results:

{"execute":"guest-fsfreeze-freeze" }
{"error": {"desc": "failed to add \\\\?\\Volume{9af402e9-40ee-11e3-b3be-806e6f6e6963}\\ to snapshot set:  (error: 8004230f)"}}

Expected results:
{"execute":"guest-fsfreeze-freeze" }
{"return": 2}


Additional info:
1.Both q35 and pc hit this issue, and virtio-blk has no such issue (virtio-win-prewhql-0.1-72 driver installed).

2.Rhel guest no such issue.

Comment 9 Ronen Hod 2014-08-14 16:30:07 UTC
Gal, I believe that the problem is on the host side. Can you analyze the guest side before handling it to Kevin (or whoever).
Thanks.

Comment 15 Yvugenfi@redhat.com 2017-03-23 14:24:59 UTC
Cannot reproduce with latest QEMU and qemu-ga-win.

Can you reproduce?

Comment 16 Xueqiang Wei 2017-03-28 06:44:26 UTC
Tested on the latest QEMU and qemu-ga-win, not hit this issue.

kernel-3.10.0-628.el7.x86_64
qemu-kvm-1.5.3-134.el7
virtio-win-prewhql-0.1-135
qemu-ga-win-7.4.3-1
guest: windows7 32bit

Command line:
/usr/libexec/qemu-kvm \
-M pc \
-cpu SandyBridge \
-enable-kvm \
-m 4096 \
-smp 4,sockets=1,cores=4,threads=1 \
-name win732 \
-rtc base=localtime,clock=host,driftfix=slew \
-drive file=/home/win7-32-sp1-virtio.qcow2,format=qcow2,if=none,id=drive-ide0-0-0,format=qcow2 \
-device ide-drive,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0 \
-global PIIX4_PM.disable_s3=0 \
-global PIIX4_PM.disable_s4=0 \
-spice port=5800,disable-ticketing \
-vga qxl \
-global qxl-vga.vram_size=67108864 \
-monitor stdio  \
-boot menu=on  \
-chardev socket,path=/tmp/qga.sock,server,nowait,id=qga0 \
-device virtio-serial \
-device virtserialport,chardev=qga0,name=org.qemu.guest_agent.0 \
-qmp tcp:0:4444,server,nowait \


In host:

{"execute":"guest-fsfreeze-status"}
{"return": "thawed"}

{"execute":"guest-fsfreeze-freeze" }
{"return": 2}