• L
    util: only fchown newly created files in virFileOpenAs · b1643dc1
    Laine Stump 提交于
    virFileOpenAs takes desired uid:gid as arguments, and not only uses
    them for a fork/setuid/setgid when retrying failed open operations,
    but additionally always forces the opened file to be owned by the
    given uid:gid.
    
    One example of the problems this causes is that, when restoring a
    domain from a file that is owned by the qemu user, opening the file
    chowns it to root. if dynamic_ownership=1 this is coincidentally
    expected, but if dynamic_ownership=0, no existing file should ever
    have its ownership changed.
    
    This patch adds an extra check before calling fchown() - it only does
    it if O_CREAT was passed to virFileOpenAs() in the openflags.
    b1643dc1
util.c 60.9 KB