summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac23
-rw-r--r--src/launch.c13
2 files changed, 7 insertions, 29 deletions
diff --git a/configure.ac b/configure.ac
index 5ba20189..69da9a5d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -644,29 +644,6 @@ the --with-qemu option.
fi
fi
-dnl Set default drive interface used by the guestfs_add_drive_opts call
-dnl ('-drive ...,if=...' option to qemu).
-dnl
-dnl If you encounter performance problems with virtio (RHBZ#509383)
-dnl then try '--with-drive-if=ide'.
-AC_ARG_WITH([drive-if],
- [AS_HELP_STRING([--with-drive-if],
- [set default driver (ide|scsi|virtio) @<:@default=virtio@:>@])],
- [],
- [with_drive_if=virtio])
-AC_DEFINE_UNQUOTED([DRIVE_IF],["$with_drive_if"],[Default drive interface.])
-
-dnl Set interface used by the network. Normally you should
-dnl leave this at the default (virtio-net-pci) but you can use the
-dnl alternative (ne2k_pci) because of bugs in virtio networking
-dnl eg. https://bugzilla.redhat.com/show_bug.cgi?id=516022
-AC_ARG_WITH([net-if],
- [AS_HELP_STRING([--with-net-if],
- [set default net driver (virtio-net-pci|ne2k_pci) @<:@default=virtio-net-pci@:>@])],
- [],
- [with_net_if=virtio-net-pci])
-AC_DEFINE_UNQUOTED([NET_IF],["$with_net_if"],[Default network interface.])
-
dnl Enable packet dumps when in verbose mode. This generates lots
dnl of debug info, only useful for people debugging the RPC mechanism.
AC_ARG_ENABLE([packet-dump],
diff --git a/src/launch.c b/src/launch.c
index 3b1f91c3..7bc913b0 100644
--- a/src/launch.c
+++ b/src/launch.c
@@ -356,7 +356,7 @@ guestfs__add_drive_opts (guestfs_h *g, const char *filename,
format = optargs->bitmask & GUESTFS_ADD_DRIVE_OPTS_FORMAT_BITMASK
? safe_strdup (g, optargs->format) : NULL;
iface = optargs->bitmask & GUESTFS_ADD_DRIVE_OPTS_IFACE_BITMASK
- ? safe_strdup (g, optargs->iface) : safe_strdup (g, DRIVE_IF);
+ ? safe_strdup (g, optargs->iface) : NULL;
name = optargs->bitmask & GUESTFS_ADD_DRIVE_OPTS_NAME_BITMASK
? safe_strdup (g, optargs->name) : NULL;
@@ -365,7 +365,7 @@ guestfs__add_drive_opts (guestfs_h *g, const char *filename,
"format");
goto err_out;
}
- if (!valid_format_iface (iface)) {
+ if (iface && !valid_format_iface (iface)) {
error (g, _("%s parameter is empty or contains disallowed characters"),
"iface");
goto err_out;
@@ -788,7 +788,7 @@ launch_appliance (guestfs_h *g)
add_cmdline (g, "-netdev");
add_cmdline (g, "user,id=usernet,net=169.254.0.0/16");
add_cmdline (g, "-device");
- add_cmdline (g, NET_IF ",netdev=usernet");
+ add_cmdline (g, "virtio-net-pci,netdev=usernet");
}
#if defined(__arm__)
@@ -837,7 +837,7 @@ launch_appliance (guestfs_h *g)
char buf2[PATH_MAX + 64];
add_cmdline (g, "-drive");
- snprintf (buf2, sizeof buf2, "file=%s,snapshot=on,if=" DRIVE_IF "%s",
+ snprintf (buf2, sizeof buf2, "file=%s,snapshot=on,if=virtio%s",
appliance, cachemode);
add_cmdline (g, buf2);
}
@@ -1464,7 +1464,8 @@ qemu_drive_param (guestfs_h *g, const struct drive *drv)
char *r;
len += strlen (drv->path) * 2; /* every "," could become ",," */
- len += strlen (drv->iface);
+ if (drv->iface)
+ len += strlen (drv->iface);
if (drv->format)
len += strlen (drv->format);
@@ -1487,7 +1488,7 @@ qemu_drive_param (guestfs_h *g, const struct drive *drv)
drv->use_cache_off ? ",cache=off" : "",
drv->format ? ",format=" : "",
drv->format ? drv->format : "",
- drv->iface);
+ drv->iface ? drv->iface : "virtio");
return r; /* caller frees */
}