From: John Ferlan Date: Mon, 26 Jan 2015 19:28:25 +0000 (-0500) Subject: qemu: qemuOpenFileAs - set flag VIR_FILE_OPEN_FORCE_MODE X-Git-Tag: v1.2.13-rc1~89 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=92f09dab50599017b63c7e29c9bd12ee932175db;p=thirdparty%2Flibvirt.git qemu: qemuOpenFileAs - set flag VIR_FILE_OPEN_FORCE_MODE In the event we're falling into the code that tries to create the file in a forked environment (VIR_FILE_OPEN_FORK) we pass different mode bits, but those are never set because the virFileOpenForceOwnerMode has a check if the OPEN_FORCE_MODE bit is set before attempting to change the mode. Since this is a special case it seems reasonable to set u+rw,g+rw,o --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index e3ca437dab..26fc6a2a0c 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -2961,6 +2961,9 @@ qemuOpenFileAs(uid_t fallback_uid, gid_t fallback_gid, /* Retry creating the file as qemu user */ + /* Since we're passing different modes... */ + vfoflags |= VIR_FILE_OPEN_FORCE_MODE; + if ((fd = virFileOpenAs(path, oflags, S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP, fallback_uid, fallback_gid,