summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-10-13 14:20:31 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-10-13 16:04:21 +0100
commit96a76c79e40a5d6853c660fc2a980d084b0eaafd (patch)
tree8b4676670ebe74a97fe8c5e765628cc09a36bdb8 /src
parent325d67c615f19da1b679e4d673636cf6d91a4c41 (diff)
downloadlibguestfs-96a76c79e40a5d6853c660fc2a980d084b0eaafd.tar.gz
libguestfs-96a76c79e40a5d6853c660fc2a980d084b0eaafd.tar.xz
libguestfs-96a76c79e40a5d6853c660fc2a980d084b0eaafd.zip
launch: libvirt: Make handle data conditional on HAVE_LIBVIRT.
This means that we can use virConnectPtr and virDomainPtr instead of using void* types. In the case where libvirt support is disabled or not present, effectively nothing changes.
Diffstat (limited to 'src')
-rw-r--r--src/guestfs-internal.h10
-rw-r--r--src/launch-libvirt.c19
2 files changed, 18 insertions, 11 deletions
diff --git a/src/guestfs-internal.h b/src/guestfs-internal.h
index 84145a3b..784f7627 100644
--- a/src/guestfs-internal.h
+++ b/src/guestfs-internal.h
@@ -28,6 +28,10 @@
#include <pcre.h>
+#ifdef HAVE_LIBVIRT
+#include <libvirt/libvirt.h>
+#endif
+
#include "hash.h"
#ifndef SOCK_CLOEXEC
@@ -310,10 +314,12 @@ struct guestfs_h
int virtio_scsi; /* See function qemu_supports_virtio_scsi */
} app;
+#ifdef HAVE_LIBVIRT
struct { /* Used only by src/launch-libvirt.c. */
- void *connv; /* libvirt connection (really virConnectPtr) */
- void *domv; /* libvirt domain (really virDomainPtr) */
+ virConnectPtr conn; /* libvirt connection */
+ virDomainPtr dom; /* libvirt domain */
} virt;
+#endif
};
/* Per-filesystem data stored for inspect_os. */
diff --git a/src/launch-libvirt.c b/src/launch-libvirt.c
index ad250826..4f015e3a 100644
--- a/src/launch-libvirt.c
+++ b/src/launch-libvirt.c
@@ -403,8 +403,8 @@ launch_libvirt (guestfs_h *g, const char *libvirt_uri)
guestfs___launch_send_progress (g, 12);
- g->virt.connv = conn;
- g->virt.domv = dom;
+ g->virt.conn = conn;
+ g->virt.dom = dom;
free (kernel);
free (initrd);
@@ -1312,8 +1312,8 @@ drive_free_priv (void *priv)
static int
shutdown_libvirt (guestfs_h *g, int check_for_errors)
{
- virConnectPtr conn = g->virt.connv;
- virDomainPtr dom = g->virt.domv;
+ virConnectPtr conn = g->virt.conn;
+ virDomainPtr dom = g->virt.dom;
int ret = 0;
int flags;
@@ -1333,7 +1333,8 @@ shutdown_libvirt (guestfs_h *g, int check_for_errors)
if (conn != NULL)
virConnectClose (conn);
- g->virt.connv = g->virt.domv = NULL;
+ g->virt.conn = NULL;
+ g->virt.dom = NULL;
return ret;
}
@@ -1383,8 +1384,8 @@ static xmlChar *construct_libvirt_xml_hot_add_disk (guestfs_h *g, struct drive *
static int
hot_add_drive_libvirt (guestfs_h *g, struct drive *drv, size_t drv_index)
{
- virConnectPtr conn = g->virt.connv;
- virDomainPtr dom = g->virt.domv;
+ virConnectPtr conn = g->virt.conn;
+ virDomainPtr dom = g->virt.dom;
xmlChar *xml = NULL;
if (!conn || !dom) {
@@ -1423,8 +1424,8 @@ hot_add_drive_libvirt (guestfs_h *g, struct drive *drv, size_t drv_index)
static int
hot_remove_drive_libvirt (guestfs_h *g, struct drive *drv, size_t drv_index)
{
- virConnectPtr conn = g->virt.connv;
- virDomainPtr dom = g->virt.domv;
+ virConnectPtr conn = g->virt.conn;
+ virDomainPtr dom = g->virt.dom;
xmlChar *xml = NULL;
if (!conn || !dom) {