Bug 816471

Summary: qemu-kvm is not closing the merged images files (mirroring with "full"=true)
Product: Red Hat Enterprise Linux 6 Reporter: Shaolong Hu <shu>
Component: qemu-kvmAssignee: Paolo Bonzini <pbonzini>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, areis, bsarathy, dyasny, juzhang, michen, mkenneth, pbonzini, sluo, tburke, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: qemu-kvm-0.12.1.2-2.292.el6 Doc Type: Bug Fix
Doc Text:
No Documentation Needed
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 11:47:11 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: 806280    

Description Shaolong Hu 2012-04-26 07:36:55 UTC
Description of problem:
------------------------
when mirroring an entire snapshot chain with QMP option "full"=true, after reopen qemu-kvm is not closing opened base image and "info block" shows backing_file still exists.


Version-Release number of selected component (if applicable):
--------------------------------------------------------------
qemu-kvm-rhev-0.12.1.2-2.286.el6.x86_64


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


Steps to Reproduce:
--------------------
1.boot guest with base
2.
(qemu) snapshot_blkdev drive-virtio-disk0 /root/nfs/sn1 qcow2
(qemu) snapshot_blkdev drive-virtio-disk0 /root/nfs/sn2 qcow2

3.mirror with "full"=true
{ "execute" : "__com.redhat_drive-mirror", "arguments" : { "device" : "drive-virtio-disk0", "target" : "/root/nfs/sn3", "format": "qcow2", "mode": "absolute-paths", "full" : true } }

4.after steady state, reopen to sn3

5.(qemu) info block
drive-virtio-disk0: removable=0 io-status=ok file=/root/nfs/sn3 backing_file=/root/nfs/sn1 ro=0 drv=qcow2 encrypted=0

6.[root@shu nfs]# lsof -p 32084 | grep "/root"
qemu-kvm 32084 root  cwd    DIR               0,28       4096        2 /root/nfs
qemu-kvm 32084 root   12u   REG               0,28 8152940544       16 /root/nfs/sn3
qemu-kvm 32084 root   23r   REG               0,28     262144       14 /root/nfs/sn1
qemu-kvm 32084 root   24r   REG               0,28 8136949760       12 /root/nfs/win7-64-virtio.qcow2

7.[root@shu nfs]# qemu-img info sn3
image: sn3
file format: qcow2
virtual size: 30G (32212254720 bytes)
disk size: 7.6G
cluster_size: 65536


Actual results:
----------------
sn2 is dropped, sn1 and base are not dropped.


Additional info:
----------------------------
this one is very similar to:
Bug 801449 - qemu-kvm is not closing the merged images files (block_stream)

i have just verified this bug, with simply streaming and mirroring in use but with "full"=false it works correctly, so i think it's better to separate them.

Comment 2 Ademar Reis 2012-05-03 14:51:48 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No Documentation Needed

Comment 3 Paolo Bonzini 2012-05-04 14:58:44 UTC
Funny, sn1/base are closed and then... reopened!

Comment 9 Shaolong Hu 2012-05-11 02:36:58 UTC
Verified on qemu-kvm-rhev-0.12.1.2-2.292.el6.x86_64:

with steps in comment 0, after reopen:

[root@localhost ~]# lsof -p 13906 | grep /root
qemu-kvm 13906 root  cwd    DIR              253,0       4096 1048577 /root
qemu-kvm 13906 root   12u   REG               0,31 3709534208     195 /root/nfs/sn3

(qemu) info block
drive-virtio-disk0: removable=0 io-status=ok file=/root/nfs/sn3 ro=0 drv=qcow2 encrypted=0


Fixed.

Comment 11 errata-xmlrpc 2012-06-20 11:47:11 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/RHBA-2012-0746.html