}
+int
+qemuHostdevUpdateActiveNVMeDisks(virQEMUDriverPtr driver,
+ virDomainDefPtr def)
+{
+ return virHostdevUpdateActiveNVMeDevices(driver->hostdevMgr,
+ QEMU_DRIVER_NAME,
+ def->name,
+ def->disks,
+ def->ndisks);
+}
+
+
int
qemuHostdevUpdateActiveDomainDevices(virQEMUDriverPtr driver,
virDomainDefPtr def)
{
- if (!def->nhostdevs)
+ if (!def->nhostdevs && !def->ndisks)
return 0;
+ if (qemuHostdevUpdateActiveNVMeDisks(driver, def) < 0)
+ return -1;
+
if (qemuHostdevUpdateActivePCIDevices(driver, def) < 0)
return -1;
return true;
}
+int
+qemuHostdevPrepareNVMeDisks(virQEMUDriverPtr driver,
+ const char *name,
+ virDomainDiskDefPtr *disks,
+ size_t ndisks)
+{
+ return virHostdevPrepareNVMeDevices(driver->hostdevMgr,
+ QEMU_DRIVER_NAME,
+ name, disks, ndisks);
+}
+
int
qemuHostdevPreparePCIDevices(virQEMUDriverPtr driver,
const char *name,
virQEMUCapsPtr qemuCaps,
unsigned int flags)
{
- if (!def->nhostdevs)
+ if (!def->nhostdevs && !def->ndisks)
return 0;
+ if (qemuHostdevPrepareNVMeDisks(driver, def->name, def->disks, def->ndisks) < 0)
+ return -1;
+
if (qemuHostdevPreparePCIDevices(driver, def->name, def->uuid,
def->hostdevs, def->nhostdevs,
qemuCaps, flags) < 0)
return 0;
}
+void
+qemuHostdevReAttachNVMeDisks(virQEMUDriverPtr driver,
+ const char *name,
+ virDomainDiskDefPtr *disks,
+ size_t ndisks)
+{
+ virHostdevReAttachNVMeDevices(driver->hostdevMgr,
+ QEMU_DRIVER_NAME,
+ name, disks, ndisks);
+}
+
void
qemuHostdevReAttachPCIDevices(virQEMUDriverPtr driver,
const char *name,
qemuHostdevReAttachDomainDevices(virQEMUDriverPtr driver,
virDomainDefPtr def)
{
- if (!def->nhostdevs)
+ if (!def->nhostdevs && !def->ndisks)
return;
+ qemuHostdevReAttachNVMeDisks(driver, def->name, def->disks,
+ def->ndisks);
+
qemuHostdevReAttachPCIDevices(driver, def->name, def->hostdevs,
def->nhostdevs);
bool qemuHostdevHostSupportsPassthroughVFIO(void);
+int qemuHostdevUpdateActiveNVMeDisks(virQEMUDriverPtr driver,
+ virDomainDefPtr def);
int qemuHostdevUpdateActiveMediatedDevices(virQEMUDriverPtr driver,
virDomainDefPtr def);
int qemuHostdevUpdateActivePCIDevices(virQEMUDriverPtr driver,
int qemuHostdevUpdateActiveDomainDevices(virQEMUDriverPtr driver,
virDomainDefPtr def);
+int qemuHostdevPrepareNVMeDisks(virQEMUDriverPtr driver,
+ const char *name,
+ virDomainDiskDefPtr *disks,
+ size_t ndisks);
int qemuHostdevPreparePCIDevices(virQEMUDriverPtr driver,
const char *name,
const unsigned char *uuid,
virQEMUCapsPtr qemuCaps,
unsigned int flags);
+void qemuHostdevReAttachNVMeDisks(virQEMUDriverPtr driver,
+ const char *name,
+ virDomainDiskDefPtr *disks,
+ size_t ndisks);
void qemuHostdevReAttachPCIDevices(virQEMUDriverPtr driver,
const char *name,
virDomainHostdevDefPtr *hostdevs,