Bug 707173

Summary: [Libvirt] virsh save changes file ownership while configured to dynamic_ownership=0
Product: Red Hat Enterprise Linux 6 Reporter: David Naori <dnaori>
Component: libvirtAssignee: Michal Privoznik <mprivozn>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.1CC: dallan, dnaori, dyuan, gren, hateya, mgoldboi, rwu, weizhan, ykaul
Target Milestone: rc   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.9.2-1.el6 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 11:10:51 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description David Naori 2011-05-24 10:12:57 UTC
Description of problem:
When configuring libvirt for dynamic_ownership=0 in /etc/libvirt/qemu.conf - virsh save changes file ownership. 

*(When using vdsm the domain cannot be restored.)


#cat /etc/libvirt/qemu.conf | grep dynamic
dynamic_ownership=0 # by vdsm

#ls -l /tmp/saved
-rwxrwxrwx.  1 vdsm kvm      0 May 24 13:07 saved

#virsh save vm /tmp/saved

#ls -la /tmp/saved 
-rwxrwxrwx. 1 root root 2642153 May 24 13:10 /tmp/saved


Version-Release number of selected component (if applicable):
libvirt-0.9.1-1.el6.x86_64

How reproducible:
100%

Steps to Reproduce:
1.configure dynamic_ownership=0
2.create file with different ownership then root
3.save domain to that file
  
Actual results:
the file's ownership changes to root:root

Expected results:
the ownership should not change

Comment 1 Michal Privoznik 2011-05-24 15:55:29 UTC
Fixed:

commit 764c282cdf41700689648ec6bf98ac2f098b18bc
Author: Michal Privoznik <mprivozn>
Date:   Tue May 24 14:36:08 2011 +0200

    qemu: Don't change ownership of file when appending to it
    
    Saving domain to previously created file changes also its ownership.
    This is certainly not what users want if some conditions are met:
    it is a regular, local file and dynamic_ownership is off.


v0.9.1-237-g764c282

Comment 3 Daniel Veillard 2011-06-23 03:21:10 UTC
This should be fixed by the libvirt-0.9.2-1.el6 rebase

Comment 4 weizhang 2011-07-04 09:51:04 UTC
verify pass on
kernel-2.6.32-156.el6.x86_64
qemu-kvm-0.12.1.2-2.165.el6.x86_64
libvirt-0.9.2-1.el6.x86_64

steps to reproduce:
1. install a guest
2. qemu-img create /tmp/saved 1G
3. create user vdsm belongs to kvm group
# useradd -g kvm vdsm
4. change ownership of /tmp/saved
# chown vdsm:kvm /tmp/saved
# ls -l /tmp/saved
-rw-r--r--. 1 vdsm kvm 1073741824 Jul  4 17:39 /tmp/saved
5. edit /etc/libvirt/qemu.conf 
change dynamic_ownership=0
6. restart libvirtd 
# service libvirtd restart
7.# virsh save guest /tmp/saved
  # ls -l /tmp/saved
  -rw-r--r--. 1 vdsm kvm 156683408 Jul  4 17:49 /tmp/saved

Comment 6 Rita Wu 2011-07-06 10:29:07 UTC
Set it as VERIFIED per comment4

Comment 7 errata-xmlrpc 2011-12-06 11:10:51 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-2011-1513.html