qemu: More usage of qemuDomainDiskBlockJobIsActive

qemuDomainDiskBlockJobIsActive already checks if a disk has a
blockjob, and if so, raises an error
This commit is contained in:
Cole Robinson 2016-06-09 07:16:10 -04:00
parent b14b37b5ed
commit b732704f49
2 changed files with 2 additions and 11 deletions

View File

@ -13712,15 +13712,10 @@ qemuDomainSnapshotPrepare(virConnectPtr conn,
for (i = 0; i < def->ndisks; i++) { for (i = 0; i < def->ndisks; i++) {
virDomainSnapshotDiskDefPtr disk = &def->disks[i]; virDomainSnapshotDiskDefPtr disk = &def->disks[i];
virDomainDiskDefPtr dom_disk = vm->def->disks[i]; virDomainDiskDefPtr dom_disk = vm->def->disks[i];
qemuDomainDiskPrivatePtr dom_diskPriv = QEMU_DOMAIN_DISK_PRIVATE(dom_disk);
if (disk->snapshot != VIR_DOMAIN_SNAPSHOT_LOCATION_NONE && if (disk->snapshot != VIR_DOMAIN_SNAPSHOT_LOCATION_NONE &&
dom_diskPriv->blockjob) { qemuDomainDiskBlockJobIsActive(dom_disk))
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
_("disk '%s' has an active block job"),
disk->name);
goto cleanup; goto cleanup;
}
switch ((virDomainSnapshotLocation) disk->snapshot) { switch ((virDomainSnapshotLocation) disk->snapshot) {
case VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL: case VIR_DOMAIN_SNAPSHOT_LOCATION_INTERNAL:

View File

@ -3444,12 +3444,8 @@ qemuDomainDetachDiskDevice(virQEMUDriverPtr driver,
int ret = -1; int ret = -1;
qemuDomainObjPrivatePtr priv = vm->privateData; qemuDomainObjPrivatePtr priv = vm->privateData;
if (detach->mirror) { if (qemuDomainDiskBlockJobIsActive(detach))
virReportError(VIR_ERR_BLOCK_COPY_ACTIVE,
_("disk '%s' is in an active block job"),
detach->dst);
goto cleanup; goto cleanup;
}
qemuDomainMarkDeviceForRemoval(vm, &detach->info); qemuDomainMarkDeviceForRemoval(vm, &detach->info);