From: Luyao Huang Date: Mon, 15 Dec 2014 09:49:54 +0000 (+0800) Subject: qemu: Auto generate a controller when attach hostdev and chr device X-Git-Tag: v1.2.12-rc1~190 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98dee717597a8ad3e7c7728aed0643e84b6140de;p=thirdparty%2Flibvirt.git qemu: Auto generate a controller when attach hostdev and chr device https://bugzilla.redhat.com/show_bug.cgi?id=1174154 When we use attach-device add a hostdev or chr device which have a iscsi address or others (just like guest agent, subsys iscsi disk...), we will find there is no basic controller for our new attached device. Somtimes this will make guest cannot start after we add them (although they can start at the second time). Signed-off-by: Luyao Huang --- diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 830bc6a165..f652237bed 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -7250,6 +7250,8 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps, if (virDomainHostdevInsert(vmdef, hostdev)) return -1; dev->data.hostdev = NULL; + if (virDomainDefAddImplicitControllers(vmdef) < 0) + return -1; if (qemuDomainAssignAddresses(vmdef, qemuCaps, NULL) < 0) return -1; break; @@ -7290,6 +7292,8 @@ qemuDomainAttachDeviceConfig(virQEMUCapsPtr qemuCaps, if (qemuDomainChrInsert(vmdef, dev->data.chr) < 0) return -1; dev->data.chr = NULL; + if (virDomainDefAddImplicitControllers(vmdef) < 0) + return -1; break; case VIR_DOMAIN_DEVICE_FS: