]> xenbits.xensource.com Git - libvirt.git/commitdiff
Make domain save work when dynamic_ownership=0
authorDaniel P. Berrange <berrange@redhat.com>
Thu, 13 May 2010 17:30:33 +0000 (13:30 -0400)
committerDaniel P. Berrange <berrange@redhat.com>
Fri, 14 May 2010 13:21:33 +0000 (09:21 -0400)
Setting dynamic_ownership=0 in /etc/libvirt/qemu.conf prevents
libvirt's DAC security driver from setting uid/gid on disk
files when starting/stopping QEMU, allowing the admin to manage
this manually. As a side effect it also stopped setting of
uid/gid when saving guests to a file, which completely breaks
save when QEMU is running non-root. Thus saved state labelling
code must ignore the dynamic_ownership parameter

* src/qemu/qemu_security_dac.c: Ignore dynamic_ownership=0 when
  doing save/restore image labelling

src/qemu/qemu_security_dac.c

index 2d42ce28ea82267b6517ae4b4fce4ec16bbd45fa..364227da57be8627c7d6c26ed958a35d252e6720 100644 (file)
@@ -407,7 +407,7 @@ static int
 qemuSecurityDACSetSavedStateLabel(virDomainObjPtr vm ATTRIBUTE_UNUSED,
                                   const char *savefile)
 {
-    if (!driver->privileged || !driver->dynamicOwnership)
+    if (!driver->privileged)
         return 0;
 
     return qemuSecurityDACSetOwnership(savefile, driver->user, driver->group);
@@ -418,7 +418,7 @@ static int
 qemuSecurityDACRestoreSavedStateLabel(virDomainObjPtr vm ATTRIBUTE_UNUSED,
                                       const char *savefile)
 {
-    if (!driver->privileged || !driver->dynamicOwnership)
+    if (!driver->privileged)
         return 0;
 
     return qemuSecurityDACRestoreSecurityFileLabel(savefile);