Bug 798938

Summary: Snapshot-revert will report error with startupPolicy='requisite' when floppy/cdrom disk is missing
Product: Red Hat Enterprise Linux 6 Reporter: weizhang <weizhan>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: high Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, dallan, dyuan, gsun, mzhan, rwu, veillard
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.9.10-6.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 06:49:21 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
domain xml
none
libvirtd.log none

Description weizhang 2012-03-01 10:39:54 UTC
Description of problem:
When floppy/cdrom image is missing, snapshot-revert will report error even if with startupPolicy='requisite' 

Also the error message is ambiguous "Unknown error 512" and need to be improved

Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.232.el6.x86_64
kernel-2.6.32-225.el6.x86_64
libvirt-0.9.10-3.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Start a guest with qcow2 type disk image and a floppy disk like
    <disk type='file' device='floppy'>
      <driver name='qemu' type='raw' cache='none'/>
      <source file='/var/lib/libvirt/images/floppy.img' startupPolicy='requisite'/>
      <target dev='fda' bus='fdc'/>
    </disk>

2.Create snapshot of running guest 
# virsh snapshot-create guest

3.Destroy the guest and remove image /var/lib/libvirt/images/floppy.img

4.Revert to running snapshot
# virsh snapshot-revert [snapshot name]
  
Actual results:
report error:
error: cannot access file '/var/lib/libvirt/images/floppy.img': Unknown error 512

Expected results:
should revert successfully

Additional info:

Comment 2 Michal Privoznik 2012-03-07 18:20:37 UTC
Patch proposed upstream:

https://www.redhat.com/archives/libvir-list/2012-March/msg00301.html

Comment 3 Michal Privoznik 2012-03-08 10:53:11 UTC
Another patch proposed upstream (for that weird error message):

https://www.redhat.com/archives/libvir-list/2012-March/msg00324.html

Comment 8 weizhang 2012-03-14 07:47:57 UTC
Test failed on
kernel-2.6.32-250.el6.x86_64
libvirt-0.9.10-5.el6.x86_64
qemu-kvm-0.12.1.2-2.246.el6.x86_64

After revert, it will report error
virsh snapshot-revert qcow2 1331711016
error: cannot access file '/var/lib/libvirt/images/floppy.img': No such file or directory

So reassign it

Comment 9 weizhang 2012-03-14 08:41:26 UTC
Created attachment 569916 [details]
domain xml

Comment 10 weizhang 2012-03-14 08:44:22 UTC
Created attachment 569918 [details]
libvirtd.log

Comment 12 weizhang 2012-03-19 08:51:23 UTC
verify pass on
kernel-2.6.32-250.el6.x86_64
qemu-kvm-0.12.1.2-2.246.el6.x86_64
libvirt-0.9.10-6.el6.x86_64

The snapshot-revert succeeds without error after remove floppy/cdrom image with startupPolicy='requisite'

Comment 14 errata-xmlrpc 2012-06-20 06:49:21 UTC
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.

http://rhn.redhat.com/errata/RHSA-2012-0748.html