diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/launch-libvirt.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c index 7d748750..c7563372 100644 --- a/src/launch-libvirt.c +++ b/src/launch-libvirt.c @@ -1011,6 +1011,7 @@ construct_libvirt_xml_qemu_cmdline (guestfs_h *g, xmlTextWriterPtr xo) size_t drv_index; char attr[256]; struct qemu_param *qp; + char *p; XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "qemu:commandline")); @@ -1052,6 +1053,19 @@ construct_libvirt_xml_qemu_cmdline (guestfs_h *g, xmlTextWriterPtr xo) BAD_CAST attr)); XMLERROR (-1, xmlTextWriterEndElement (xo)); + /* We need to ensure the snapshots are created in $TMPDIR (RHBZ#856619). */ + p = getenv ("TMPDIR"); + if (p) { + XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "qemu:env")); + XMLERROR (-1, + xmlTextWriterWriteAttribute (xo, BAD_CAST "name", + BAD_CAST "TMPDIR")); + XMLERROR (-1, + xmlTextWriterWriteAttribute (xo, BAD_CAST "value", + BAD_CAST p)); + XMLERROR (-1, xmlTextWriterEndElement (xo)); + } + /* Workaround because libvirt user networking cannot specify "net=" * parameter. */ |