const char *name,
virDomainHostdevDefPtr *hostdevs,
int nhostdevs,
- bool coldBoot)
+ unsigned int flags)
{
size_t i;
int ret = -1;
virUSBDeviceListPtr list;
virUSBDevicePtr tmp;
virHostdevManagerPtr hostdev_mgr = driver->hostdevMgr;
+ bool coldBoot = !!(flags & VIR_HOSTDEV_COLD_BOOT);
/* To prevent situation where USB device is assigned to two domains
* we need to keep a list of currently assigned USB devices.
qemuPrepareHostDevices(virQEMUDriverPtr driver,
virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
- bool coldBoot,
unsigned int flags)
{
if (!def->nhostdevs)
return -1;
if (qemuPrepareHostUSBDevices(driver, def->name,
- def->hostdevs, def->nhostdevs, coldBoot) < 0)
+ def->hostdevs, def->nhostdevs, flags) < 0)
return -1;
if (qemuPrepareHostdevSCSIDevices(driver, def->name,
typedef enum {
VIR_HOSTDEV_STRICT_ACS_CHECK = (1 << 0), /* strict acs check */
+ VIR_HOSTDEV_COLD_BOOT = (1 << 1), /* cold boot */
} virHostdevFlag;
int qemuUpdateActivePciHostdevs(virQEMUDriverPtr driver,
const char *name,
virDomainHostdevDefPtr *hostdevs,
int nhostdevs,
- bool coldBoot);
+ unsigned int flags);
int qemuPrepareHostdevSCSIDevices(virQEMUDriverPtr driver,
const char *name,
virDomainHostdevDefPtr *hostdevs,
int qemuPrepareHostDevices(virQEMUDriverPtr driver,
virDomainDefPtr def,
virQEMUCapsPtr qemuCaps,
- bool coldBoot,
unsigned int flags);
void
qemuDomainReAttachHostUsbDevices(virQEMUDriverPtr driver,
VIR_DEBUG("Preparing host devices");
if (!cfg->relaxedACS)
hostdev_flags |= VIR_HOSTDEV_STRICT_ACS_CHECK;
+ if (!migrateFrom)
+ hostdev_flags |= VIR_HOSTDEV_COLD_BOOT;
if (qemuPrepareHostDevices(driver, vm->def, priv->qemuCaps,
- !migrateFrom, hostdev_flags) < 0)
+ hostdev_flags) < 0)
goto cleanup;
VIR_DEBUG("Preparing chr devices");