提交 627b6b0f 编写于 作者: M Marc Hartmayer 提交者: Peter Krempa

qemu: SCSI hostdev hot-plug: Fix automatic creation of SCSI controllers

Ensure that the given controller and all controllers with a smaller
index exist; there must not be any missing index in between.
Reviewed-by: NBoris Fiuczynski <fiuczy@linux.vnet.ibm.com>
Reviewed-by: NBjoern Walk <bwalk@linux.vnet.ibm.com>
Signed-off-by: NMarc Hartmayer <mhartmay@linux.vnet.ibm.com>
(cherry picked from commit 12ec22b6)

 Conflicts:
	src/qemu/qemu_hotplug.c: - context of the first hunk changed
上级 696ab0a1
...@@ -1918,9 +1918,9 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, ...@@ -1918,9 +1918,9 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn,
virDomainObjPtr vm, virDomainObjPtr vm,
virDomainHostdevDefPtr hostdev) virDomainHostdevDefPtr hostdev)
{ {
size_t i;
int ret = -1; int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData; qemuDomainObjPrivatePtr priv = vm->privateData;
virDomainControllerDefPtr cont = NULL;
char *devstr = NULL; char *devstr = NULL;
char *drvstr = NULL; char *drvstr = NULL;
bool teardowncgroup = false; bool teardowncgroup = false;
...@@ -1933,9 +1933,17 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn, ...@@ -1933,9 +1933,17 @@ qemuDomainAttachHostSCSIDevice(virConnectPtr conn,
return -1; return -1;
} }
cont = qemuDomainFindOrCreateSCSIDiskController(driver, vm, hostdev->info->addr.drive.controller); /* Let's make sure the disk has a controller defined and loaded before
if (!cont) * trying to add it. The controller used by the disk must exist before a
return -1; * qemu command line string is generated.
*
* Ensure that the given controller and all controllers with a smaller index
* exist; there must not be any missing index in between.
*/
for (i = 0; i <= hostdev->info->addr.drive.controller; i++) {
if (!qemuDomainFindOrCreateSCSIDiskController(driver, vm, i))
return -1;
}
if (qemuHostdevPrepareSCSIDevices(driver, vm->def->name, if (qemuHostdevPrepareSCSIDevices(driver, vm->def->name,
&hostdev, 1)) { &hostdev, 1)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册