On Mon, 2009-07-27 at 11:06 +0200, Daniel Veillard wrote:
On Wed, Jul 22, 2009 at 10:57:29PM +0100, Mark McLoughlin wrote:
>
> Hey,
> So, here are the patches needed to complete the QEMU NIC hotplug
> work by supporting network and bridge backed interfaces.
>
> We support this by passing a tap file descriptor to qemu over
> the monitor socket using SCM_RIGHTS.
>
> The monitor commands required for this (getfd and closefd) are
> queued up in Anthony's queue and should be in qemu-0.11-rc1 which is due
> to be released very soon:
>
>
http://repo.or.cz/w/qemu/aliguori-queue.git?a=commitdiff;h=4edd6c2645
>
http://repo.or.cz/w/qemu/aliguori-queue.git?a=commitdiff;h=f4069061e3
>
> Note: I just remembered I'm not handling missing support for
> these commands very well. I'll make it handle an 'unknown command'
reply
> gracefully by failing the attach tommorrow.
Yes that's my main uncertainty about this patch set, we assume the
support is present and I don't see any detection code, can you send this
quickly to finish the serie of patches ?
Yep, the below hunk is all we need - I'll squash it into 7/7
Thanks,
Mark.
diff --git a/src/qemu_driver.c b/src/qemu_driver.c
index 23cbd8f..d65a2a3 100644
--- a/src/qemu_driver.c
+++ b/src/qemu_driver.c
@@ -4684,6 +4684,16 @@ static int qemudDomainAttachNetDevice(virConnectPtr conn,
DEBUG("%s: getfd reply: %s", vm->def->name, reply);
+ /* If the command isn't supported then qemu prints:
+ * unknown command: getfd" */
+ if (strstr(reply, "unknown command:")) {
+ qemudReportError(conn, dom, NULL, VIR_ERR_NO_SUPPORT,
+ "%s",
+ _("bridge/network interface attach not supported:
"
+ "qemu 'getfd' monitor command
available"));
+ goto cleanup;
+ }
+
VIR_FREE(reply);
VIR_FREE(cmd);
}