summaryrefslogtreecommitdiffstats
path: root/src/guestfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/guestfs.c')
-rw-r--r--src/guestfs.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/guestfs.c b/src/guestfs.c
index e848ff83..e13dd9fa 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -746,6 +746,16 @@ guestfs__set_attach_method (guestfs_h *g, const char *method)
free (g->attach_method_arg);
g->attach_method_arg = NULL;
}
+ else if (STREQ (method, "libvirt")) {
+ g->attach_method = ATTACH_METHOD_LIBVIRT;
+ free (g->attach_method_arg);
+ g->attach_method_arg = NULL;
+ }
+ else if (STRPREFIX (method, "libvirt:") && strlen (method) > 8) {
+ g->attach_method = ATTACH_METHOD_LIBVIRT;
+ free (g->attach_method_arg);
+ g->attach_method_arg = safe_strdup (g, method + 8);
+ }
else if (STRPREFIX (method, "unix:") && strlen (method) > 5) {
g->attach_method = ATTACH_METHOD_UNIX;
free (g->attach_method_arg);
@@ -770,6 +780,13 @@ guestfs__get_attach_method (guestfs_h *g)
ret = safe_strdup (g, "appliance");
break;
+ case ATTACH_METHOD_LIBVIRT:
+ if (g->attach_method_arg == NULL)
+ ret = safe_strdup (g, "libvirt");
+ else
+ ret = safe_asprintf (g, "libvirt:%s", g->attach_method_arg);
+ break;
+
case ATTACH_METHOD_UNIX:
ret = safe_asprintf (g, "unix:%s", g->attach_method_arg);
break;