]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: process: Pass flags to qemuProcessPrepareHost
authorPeter Krempa <pkrempa@redhat.com>
Tue, 3 Oct 2017 08:14:21 +0000 (10:14 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Thu, 5 Oct 2017 07:40:13 +0000 (09:40 +0200)
Pass flags to the function rather than just whether we have incoming
migration. This also enforces correct startup policy for USB devices
when reverting from a snapshot.

src/qemu/qemu_migration.c
src/qemu/qemu_process.c
src/qemu/qemu_process.h

index 078da1dfd833772a7b1d0d0e12f1f81e0337848e..dd60071bfdbbf6872fee37c726694a0960939a49 100644 (file)
@@ -2687,7 +2687,7 @@ qemuMigrationPrepareAny(virQEMUDriverPtr driver,
     if (qemuProcessPrepareDomain(dconn, driver, vm, startFlags) < 0)
         goto stopjob;
 
-    if (qemuProcessPrepareHost(driver, vm, !!incoming) < 0)
+    if (qemuProcessPrepareHost(driver, vm, startFlags) < 0)
         goto stopjob;
 
     rv = qemuProcessLaunch(dconn, driver, vm, QEMU_ASYNC_JOB_MIGRATION_IN,
index 4f2d5f96fab321b3584b9c6ec386b49db89d703b..3f70141e2f59dd24b5b278327ab34b58610b543d 100644 (file)
@@ -5420,7 +5420,7 @@ qemuProcessPrepareDomain(virConnectPtr conn,
  * qemuProcessPrepareHost:
  * @driver: qemu driver
  * @vm: domain object
- * @incoming: true if we are preparing an incoming migration
+ * @flags: qemuProcessStartFlags
  *
  * This function groups all code that modifies host system (which also may
  * update live XML) to prepare environment for a domain which is about to start
@@ -5431,7 +5431,7 @@ qemuProcessPrepareDomain(virConnectPtr conn,
 int
 qemuProcessPrepareHost(virQEMUDriverPtr driver,
                        virDomainObjPtr vm,
-                       bool incoming)
+                       unsigned int flags)
 {
     int ret = -1;
     unsigned int hostdev_flags = 0;
@@ -5453,7 +5453,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver,
     VIR_DEBUG("Preparing host devices");
     if (!cfg->relaxedACS)
         hostdev_flags |= VIR_HOSTDEV_STRICT_ACS_CHECK;
-    if (!incoming)
+    if (flags & VIR_QEMU_PROCESS_START_NEW)
         hostdev_flags |= VIR_HOSTDEV_COLD_BOOT;
     if (qemuHostdevPrepareDomainDevices(driver, vm->def, priv->qemuCaps,
                                         hostdev_flags) < 0)
@@ -5969,7 +5969,7 @@ qemuProcessStart(virConnectPtr conn,
     if (qemuProcessPrepareDomain(conn, driver, vm, flags) < 0)
         goto stop;
 
-    if (qemuProcessPrepareHost(driver, vm, !!incoming) < 0)
+    if (qemuProcessPrepareHost(driver, vm, flags) < 0)
         goto stop;
 
     if ((rv = qemuProcessLaunch(conn, driver, vm, asyncJob, incoming,
index 667d5c53d5c383e2a0ba2f32fee97330dd27c70b..814b86d8a7261c9f74503c4983f98a508fc05b47 100644 (file)
@@ -111,7 +111,7 @@ int qemuProcessPrepareDomain(virConnectPtr conn,
 
 int qemuProcessPrepareHost(virQEMUDriverPtr driver,
                            virDomainObjPtr vm,
-                           bool incoming);
+                           unsigned int flags);
 
 int qemuProcessLaunch(virConnectPtr conn,
                       virQEMUDriverPtr driver,