• M
    qemuDomainSaveMemory: Don't enforce dynamicOwnership · 8c8c3233
    Michal Privoznik 提交于
    https://bugzilla.redhat.com/show_bug.cgi?id=1589115
    
    When doing a memory snapshot qemuOpenFile() is used. This means
    that the file where memory is saved is firstly attempted to be
    created under root:root (because that's what libvirtd is running
    under) and if this fails the second attempt is done under
    domain's uid:gid. This does not make much sense - qemu is given
    opened FD so it does not need to access the file. Moreover, if
    dynamicOwnership is set in qemu.conf and the file lives on a
    squashed NFS this is deadly combination and very likely to fail.
    
    The fix consists of using:
    
      qemuOpenFileAs(fallback_uid = cfg->user,
                     fallback_gid = cfg->group,
                     dynamicOwnership = false)
    
    In other words, dynamicOwnership is turned off for memory
    snapshot (chown() will still be attempted if the file does not
    live on NFS) and instead of using domain DAC label, configured
    user:group is set as fallback.
    Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
    Reviewed-by: NMichal Privoznik <mprivozn@redhat.com>
    8c8c3233
qemu_driver.c 686.6 KB