mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemuDomainDiskBlockJobIsSupported: Assume QEMU_CAPS_BLOCKDEV is supported
Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
6203e43d03
commit
f590850273
@ -260,7 +260,7 @@ qemuBackupDiskPrepareDataOne(virDomainObj *vm,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm, dd->domdisk))
|
||||
if (!qemuDomainDiskBlockJobIsSupported(dd->domdisk))
|
||||
return -1;
|
||||
|
||||
if (dd->store->format == VIR_STORAGE_FILE_NONE) {
|
||||
|
@ -372,7 +372,7 @@ qemuCheckpointPrepare(virQEMUDriver *driver,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm, vm->def->disks[i]))
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm->def->disks[i]))
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -11252,19 +11252,15 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm,
|
||||
/**
|
||||
* qemuDomainDiskBlockJobIsSupported:
|
||||
*
|
||||
* Returns true if block jobs are supported on @disk by @vm or false and reports
|
||||
* Returns true if block jobs are supported on @disk or false and reports
|
||||
* an error otherwise.
|
||||
*
|
||||
* Note that this does not verify whether other block jobs are running etc.
|
||||
*/
|
||||
bool
|
||||
qemuDomainDiskBlockJobIsSupported(virDomainObj *vm,
|
||||
virDomainDiskDef *disk)
|
||||
qemuDomainDiskBlockJobIsSupported(virDomainDiskDef *disk)
|
||||
{
|
||||
qemuDomainObjPrivate *priv = vm->privateData;
|
||||
|
||||
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) &&
|
||||
qemuDiskBusIsSD(disk->bus)) {
|
||||
if (qemuDiskBusIsSD(disk->bus)) {
|
||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
|
||||
_("block jobs are not supported on disk '%s' using bus 'sd'"),
|
||||
disk->dst);
|
||||
|
@ -1047,8 +1047,7 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm,
|
||||
virQEMUDriverConfig *cfg);
|
||||
|
||||
bool
|
||||
qemuDomainDiskBlockJobIsSupported(virDomainObj *vm,
|
||||
virDomainDiskDef *disk);
|
||||
qemuDomainDiskBlockJobIsSupported(virDomainDiskDef *disk);
|
||||
|
||||
int
|
||||
qemuDomainDefNumaCPUsRectify(virDomainDef *def,
|
||||
|
@ -14428,7 +14428,7 @@ qemuDomainBlockPullCommon(virDomainObj *vm,
|
||||
if (qemuDomainDiskBlockJobIsActive(disk))
|
||||
goto endjob;
|
||||
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm, disk))
|
||||
if (!qemuDomainDiskBlockJobIsSupported(disk))
|
||||
goto endjob;
|
||||
|
||||
if (base &&
|
||||
@ -14958,7 +14958,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm,
|
||||
if (qemuDomainDiskBlockJobIsActive(disk))
|
||||
goto endjob;
|
||||
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm, disk))
|
||||
if (!qemuDomainDiskBlockJobIsSupported(disk))
|
||||
goto endjob;
|
||||
|
||||
if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN &&
|
||||
@ -15427,7 +15427,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
|
||||
if (!(disk = qemuDomainDiskByName(vm->def, path)))
|
||||
goto endjob;
|
||||
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm, disk))
|
||||
if (!qemuDomainDiskBlockJobIsSupported(disk))
|
||||
goto endjob;
|
||||
|
||||
if (virStorageSourceIsEmpty(disk->src)) {
|
||||
|
@ -446,8 +446,7 @@ qemuSnapshotPrepareDiskExternalInactive(virDomainSnapshotDiskDef *snapdisk,
|
||||
|
||||
|
||||
static int
|
||||
qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
|
||||
virDomainSnapshotDiskDef *snapdisk,
|
||||
qemuSnapshotPrepareDiskExternalActive(virDomainSnapshotDiskDef *snapdisk,
|
||||
virDomainDiskDef *domdisk)
|
||||
{
|
||||
virStorageType actualType = virStorageSourceGetActualType(snapdisk->src);
|
||||
@ -462,7 +461,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (!qemuDomainDiskBlockJobIsSupported(vm, domdisk))
|
||||
if (!qemuDomainDiskBlockJobIsSupported(domdisk))
|
||||
return -1;
|
||||
|
||||
switch (actualType) {
|
||||
@ -491,8 +490,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
|
||||
|
||||
|
||||
static int
|
||||
qemuSnapshotPrepareDiskExternal(virDomainObj *vm,
|
||||
virDomainDiskDef *disk,
|
||||
qemuSnapshotPrepareDiskExternal(virDomainDiskDef *disk,
|
||||
virDomainSnapshotDiskDef *snapdisk,
|
||||
bool active,
|
||||
bool reuse)
|
||||
@ -507,7 +505,7 @@ qemuSnapshotPrepareDiskExternal(virDomainObj *vm,
|
||||
if (qemuSnapshotPrepareDiskExternalInactive(snapdisk, disk) < 0)
|
||||
return -1;
|
||||
} else {
|
||||
if (qemuSnapshotPrepareDiskExternalActive(vm, snapdisk, disk) < 0)
|
||||
if (qemuSnapshotPrepareDiskExternalActive(snapdisk, disk) < 0)
|
||||
return -1;
|
||||
}
|
||||
|
||||
@ -700,8 +698,7 @@ qemuSnapshotPrepare(virDomainObj *vm,
|
||||
}
|
||||
}
|
||||
|
||||
if (qemuSnapshotPrepareDiskExternal(vm, dom_disk, disk,
|
||||
active, reuse) < 0)
|
||||
if (qemuSnapshotPrepareDiskExternal(dom_disk, disk, active, reuse) < 0)
|
||||
return -1;
|
||||
|
||||
external++;
|
||||
|
Loading…
x
Reference in New Issue
Block a user