mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-23 03:42:19 +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;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!qemuDomainDiskBlockJobIsSupported(vm, dd->domdisk))
|
if (!qemuDomainDiskBlockJobIsSupported(dd->domdisk))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (dd->store->format == VIR_STORAGE_FILE_NONE) {
|
if (dd->store->format == VIR_STORAGE_FILE_NONE) {
|
||||||
|
@ -372,7 +372,7 @@ qemuCheckpointPrepare(virQEMUDriver *driver,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!qemuDomainDiskBlockJobIsSupported(vm, vm->def->disks[i]))
|
if (!qemuDomainDiskBlockJobIsSupported(vm->def->disks[i]))
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11252,19 +11252,15 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm,
|
|||||||
/**
|
/**
|
||||||
* qemuDomainDiskBlockJobIsSupported:
|
* 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.
|
* an error otherwise.
|
||||||
*
|
*
|
||||||
* Note that this does not verify whether other block jobs are running etc.
|
* Note that this does not verify whether other block jobs are running etc.
|
||||||
*/
|
*/
|
||||||
bool
|
bool
|
||||||
qemuDomainDiskBlockJobIsSupported(virDomainObj *vm,
|
qemuDomainDiskBlockJobIsSupported(virDomainDiskDef *disk)
|
||||||
virDomainDiskDef *disk)
|
|
||||||
{
|
{
|
||||||
qemuDomainObjPrivate *priv = vm->privateData;
|
if (qemuDiskBusIsSD(disk->bus)) {
|
||||||
|
|
||||||
if (virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV) &&
|
|
||||||
qemuDiskBusIsSD(disk->bus)) {
|
|
||||||
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
|
virReportError(VIR_ERR_OPERATION_UNSUPPORTED,
|
||||||
_("block jobs are not supported on disk '%s' using bus 'sd'"),
|
_("block jobs are not supported on disk '%s' using bus 'sd'"),
|
||||||
disk->dst);
|
disk->dst);
|
||||||
|
@ -1047,8 +1047,7 @@ qemuDomainInitializePflashStorageSource(virDomainObj *vm,
|
|||||||
virQEMUDriverConfig *cfg);
|
virQEMUDriverConfig *cfg);
|
||||||
|
|
||||||
bool
|
bool
|
||||||
qemuDomainDiskBlockJobIsSupported(virDomainObj *vm,
|
qemuDomainDiskBlockJobIsSupported(virDomainDiskDef *disk);
|
||||||
virDomainDiskDef *disk);
|
|
||||||
|
|
||||||
int
|
int
|
||||||
qemuDomainDefNumaCPUsRectify(virDomainDef *def,
|
qemuDomainDefNumaCPUsRectify(virDomainDef *def,
|
||||||
|
@ -14428,7 +14428,7 @@ qemuDomainBlockPullCommon(virDomainObj *vm,
|
|||||||
if (qemuDomainDiskBlockJobIsActive(disk))
|
if (qemuDomainDiskBlockJobIsActive(disk))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (!qemuDomainDiskBlockJobIsSupported(vm, disk))
|
if (!qemuDomainDiskBlockJobIsSupported(disk))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (base &&
|
if (base &&
|
||||||
@ -14958,7 +14958,7 @@ qemuDomainBlockCopyCommon(virDomainObj *vm,
|
|||||||
if (qemuDomainDiskBlockJobIsActive(disk))
|
if (qemuDomainDiskBlockJobIsActive(disk))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (!qemuDomainDiskBlockJobIsSupported(vm, disk))
|
if (!qemuDomainDiskBlockJobIsSupported(disk))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN &&
|
if (disk->device == VIR_DOMAIN_DISK_DEVICE_LUN &&
|
||||||
@ -15427,7 +15427,7 @@ qemuDomainBlockCommit(virDomainPtr dom,
|
|||||||
if (!(disk = qemuDomainDiskByName(vm->def, path)))
|
if (!(disk = qemuDomainDiskByName(vm->def, path)))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (!qemuDomainDiskBlockJobIsSupported(vm, disk))
|
if (!qemuDomainDiskBlockJobIsSupported(disk))
|
||||||
goto endjob;
|
goto endjob;
|
||||||
|
|
||||||
if (virStorageSourceIsEmpty(disk->src)) {
|
if (virStorageSourceIsEmpty(disk->src)) {
|
||||||
|
@ -446,8 +446,7 @@ qemuSnapshotPrepareDiskExternalInactive(virDomainSnapshotDiskDef *snapdisk,
|
|||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
|
qemuSnapshotPrepareDiskExternalActive(virDomainSnapshotDiskDef *snapdisk,
|
||||||
virDomainSnapshotDiskDef *snapdisk,
|
|
||||||
virDomainDiskDef *domdisk)
|
virDomainDiskDef *domdisk)
|
||||||
{
|
{
|
||||||
virStorageType actualType = virStorageSourceGetActualType(snapdisk->src);
|
virStorageType actualType = virStorageSourceGetActualType(snapdisk->src);
|
||||||
@ -462,7 +461,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!qemuDomainDiskBlockJobIsSupported(vm, domdisk))
|
if (!qemuDomainDiskBlockJobIsSupported(domdisk))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
switch (actualType) {
|
switch (actualType) {
|
||||||
@ -491,8 +490,7 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
|
|||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
qemuSnapshotPrepareDiskExternal(virDomainObj *vm,
|
qemuSnapshotPrepareDiskExternal(virDomainDiskDef *disk,
|
||||||
virDomainDiskDef *disk,
|
|
||||||
virDomainSnapshotDiskDef *snapdisk,
|
virDomainSnapshotDiskDef *snapdisk,
|
||||||
bool active,
|
bool active,
|
||||||
bool reuse)
|
bool reuse)
|
||||||
@ -507,7 +505,7 @@ qemuSnapshotPrepareDiskExternal(virDomainObj *vm,
|
|||||||
if (qemuSnapshotPrepareDiskExternalInactive(snapdisk, disk) < 0)
|
if (qemuSnapshotPrepareDiskExternalInactive(snapdisk, disk) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
} else {
|
} else {
|
||||||
if (qemuSnapshotPrepareDiskExternalActive(vm, snapdisk, disk) < 0)
|
if (qemuSnapshotPrepareDiskExternalActive(snapdisk, disk) < 0)
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -700,8 +698,7 @@ qemuSnapshotPrepare(virDomainObj *vm,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qemuSnapshotPrepareDiskExternal(vm, dom_disk, disk,
|
if (qemuSnapshotPrepareDiskExternal(dom_disk, disk, active, reuse) < 0)
|
||||||
active, reuse) < 0)
|
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
external++;
|
external++;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user