2012-10-09 14:19:30 +02:00
From f93f1538649d96d1b11eb7a4368aac0496acc2bc Mon Sep 17 00:00:00 2001
2012-10-08 20:20:38 +02:00
From: Olaf Hering <olaf@aepfle.de>
2012-10-09 14:19:30 +02:00
Date: Mon, 8 Oct 2012 20:10:36 +0200
2012-10-08 20:20:38 +02:00
Subject: [PATCH] launch: appliance is optional
# virt-filesystems -v -d 6326ad4e-5805-2ab4-1338-d1dad8c76162 --all
libguestfs: libvirt version = 10002
libguestfs: [00000ms] connect to libvirt
libguestfs: [00001ms] get libvirt capabilities
libguestfs: [00234ms] build appliance
libguestfs: [00234ms] create libvirt XML
libguestfs: error: error constructing libvirt XML at "xmlTextWriterWriteAttribute (xo, BAD_CAST "file", BAD_CAST appliance)": No such file or directory
libguestfs: closing guestfs handle 0x656270 (state 0)
# ls -lh /usr/lib64/guestfs/*
-rw-r--r-- 1 root root 13M Oct 8 16:15 /usr/lib64/guestfs/initramfs.x86_64.img
-rw-r--r-- 1 root root 3.7M Oct 6 09:25 /usr/lib64/guestfs/vmlinuz.x86_64
Signed-off-by: Olaf Hering <olaf@aepfle.de>
---
2012-10-09 14:19:30 +02:00
src/launch-libvirt.c | 22 ++++++++++++++--------
1 file changed, 14 insertions(+), 8 deletions(-)
2012-10-08 20:20:38 +02:00
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
2012-10-09 14:19:30 +02:00
index 5b7897d..183008e 100644
2012-10-08 20:20:38 +02:00
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
2012-10-09 14:19:30 +02:00
@@ -194,10 +194,13 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri)
2012-10-08 20:20:38 +02:00
2012-10-09 14:19:30 +02:00
/* Create overlays for read-only drives and the appliance. This
* works around lack of support for <transient/> disks in libvirt.
+ * Note that appliance can be NULL if using the old-style appliance.
*/
- appliance_overlay = make_qcow2_overlay (g, appliance, "raw");
- if (!appliance_overlay)
- goto cleanup;
+ if (appliance) {
+ appliance_overlay = make_qcow2_overlay (g, appliance, "raw");
+ if (!appliance_overlay)
+ goto cleanup;
+ }
2012-10-08 20:20:38 +02:00
2012-10-09 14:19:30 +02:00
ITER_DRIVES (g, i, drv) {
if (make_qcow2_overlay_for_drive (g, drv) == -1)
@@ -393,7 +396,8 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri)
goto cleanup;
}
- guestfs___add_dummy_appliance_drive (g);
+ if (appliance)
+ guestfs___add_dummy_appliance_drive (g);
TRACE0 (launch_libvirt_end);
@@ -739,10 +743,12 @@ construct_libvirt_xml_devices (guestfs_h *g, xmlTextWriterPtr xo,
goto err;
}
- /* Appliance disk. */
- if (construct_libvirt_xml_appliance (g, xo, appliance_overlay,
- appliance_index) == -1)
- goto err;
+ if (appliance_overlay) {
+ /* Appliance disk. */
+ if (construct_libvirt_xml_appliance (g, xo, appliance_overlay,
+ appliance_index) == -1)
+ goto err;
+ }
/* Console. */
XMLERROR (-1, xmlTextWriterStartElement (xo, BAD_CAST "serial"));
2012-10-08 20:20:38 +02:00
--
2012-10-09 14:19:30 +02:00
1.7.10.4
2012-10-08 20:20:38 +02:00