Bug 811814

Summary: live snapshot and mirroring should check whether target image is current one
Product: Red Hat Enterprise Linux 6 Reporter: Shaolong Hu <shu>
Component: qemu-kvmAssignee: Jeff Cody <jcody>
Status: CLOSED WONTFIX QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, areis, bsarathy, dyasny, flang, juzhang, kwolf, michen, mkenneth, pbonzini, shuang, virt-maint
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: 2013-06-03 17:54:49 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: 809140    
Bug Blocks: 806280    

Description Shaolong Hu 2012-04-12 03:21:17 UTC
Description of problem:
------------------------
live snapshot and mirroring operation should check whether target image is current one.

Version-Release number of selected component (if applicable):
--------------------------------------------------------------
qemu-kvm 272

How reproducible:
------------------
100%

Steps to Reproduce:
--------------------
1. when live snapshot or mirroring, if target is current image using by the block device, they simply over write it instead of prompt error.

(qemu) info block
drive-virtio-disk0: removable=0 io-status=ok file=RHEL-Server-6.3-64-virtio.qcow2 ro=0 drv=qcow2 encrypted=0

(qemu) snapshot_blkdev drive-virtio-disk0 /root/RHEL-Server-6.3-64-virtio.qcow2


Expected results:
-------------------
prompt error and refuse to do so.

Comment 2 Jeff Cody 2012-04-12 19:53:06 UTC
Since we won't know if the path leading up to the snapshot filename matches exactly that path used to open the image, this will likely require something like realpath() or qemu_file_get_full_path(), so that we can compare absolute canonical filenames of all open images against the new proposed image filename.  Bug #809140 will likely bring qemu_file_get_full_path() in, so I am marking this dependent on that bug.

But even with a canonical absolute path, I don't think that gives us 100% protection - the file could still be located on a mounted network filesystem, under a different directory, etc. With that in mind, I am wondering if this is a bug we fix in the QEMU layer, or something that is on the management layer to be aware of (i.e. don't use an existing / open image).

Comment 5 RHEL Program Management 2012-07-10 06:46:44 UTC
This request was not resolved in time for the current release.
Red Hat invites you to ask your support representative to
propose this request, if still desired, for consideration in
the next release of Red Hat Enterprise Linux.

Comment 6 RHEL Program Management 2012-07-11 02:05:54 UTC
This request was erroneously removed from consideration in Red Hat Enterprise Linux 6.4, which is currently under development.  This request will be evaluated for inclusion in Red Hat Enterprise Linux 6.4.

Comment 7 Ademar Reis 2012-07-25 14:18:51 UTC
Due to limited capacity, we won't be able to work on this in RHEL6.4. Deferring to 6.5 (high chances of closing this as WONTFIX in the next cycle).

Comment 9 Ademar Reis 2013-06-03 17:54:49 UTC
(In reply to Ademar de Souza Reis Jr. from comment #7)
> Due to limited capacity, we won't be able to work on this in RHEL6.4.
> Deferring to 6.5 (high chances of closing this as WONTFIX in the next cycle).

Keeping my promisse...