static int qemudDomainChangeEjectableMedia(virConnectPtr conn,
virDomainObjPtr vm,
- virDomainDeviceDefPtr dev)
+ virDomainDeviceDefPtr dev,
+ unsigned int qemuCmdFlags)
{
virDomainDiskDefPtr origdisk = NULL, newdisk;
char *cmd, *reply, *safe_path;
char *devname = NULL;
- unsigned int qemuCmdFlags;
int i;
origdisk = NULL;
return -1;
}
- if (qemudExtractVersionInfo(vm->def->emulator,
- NULL,
- &qemuCmdFlags) < 0)
- return -1;
-
if (qemuCmdFlags & QEMUD_CMD_FLAG_DRIVE) {
if (!(devname = qemudDiskDeviceName(conn, newdisk)))
return -1;
struct qemud_driver *driver = dom->conn->privateData;
virDomainObjPtr vm;
virDomainDeviceDefPtr dev = NULL;
+ unsigned int qemuCmdFlags;
int ret = -1;
qemuDriverLock(driver);
if (dev == NULL)
goto cleanup;
+ if (qemudExtractVersionInfo(vm->def->emulator,
+ NULL,
+ &qemuCmdFlags) < 0)
+ goto cleanup;
if (dev->type == VIR_DOMAIN_DEVICE_DISK) {
switch (dev->data.disk->device) {
if (qemuDomainSetDeviceOwnership(dom->conn, driver, dev, 0) < 0)
goto cleanup;
- ret = qemudDomainChangeEjectableMedia(dom->conn, vm, dev);
+ ret = qemudDomainChangeEjectableMedia(dom->conn, vm, dev, qemuCmdFlags);
break;
case VIR_DOMAIN_DISK_DEVICE_DISK: