mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
qemu: blockjob: Use qemuMonitorBitmapRemove for single bitmap removal
There's no need in the cleanup steps to invoke a transaction to delete a single bitmap. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
This commit is contained in:
parent
7a8d7d75df
commit
b44e3ca306
@ -1420,7 +1420,6 @@ qemuBlockJobProcessEventFailedActiveCommit(virQEMUDriverPtr driver,
|
||||
qemuDomainAsyncJob asyncJob)
|
||||
{
|
||||
qemuDomainObjPrivatePtr priv = vm->privateData;
|
||||
g_autoptr(virJSONValue) actions = virJSONValueNewArray();
|
||||
virDomainDiskDefPtr disk = job->disk;
|
||||
|
||||
VIR_DEBUG("active commit job '%s' on VM '%s' failed", job->name, vm->def->name);
|
||||
@ -1428,13 +1427,12 @@ qemuBlockJobProcessEventFailedActiveCommit(virQEMUDriverPtr driver,
|
||||
if (!disk)
|
||||
return;
|
||||
|
||||
ignore_value(qemuMonitorTransactionBitmapRemove(actions, disk->mirror->nodeformat,
|
||||
"libvirt-tmp-activewrite"));
|
||||
|
||||
if (qemuDomainObjEnterMonitorAsync(priv->driver, vm, asyncJob) < 0)
|
||||
return;
|
||||
|
||||
qemuMonitorTransaction(priv->mon, &actions);
|
||||
qemuMonitorBitmapRemove(priv->mon,
|
||||
disk->mirror->nodeformat,
|
||||
"libvirt-tmp-activewrite");
|
||||
|
||||
if (qemuDomainObjExitMonitor(priv->driver, vm) < 0)
|
||||
return;
|
||||
@ -1502,7 +1500,6 @@ qemuBlockJobProcessEventConcludedBackup(virQEMUDriverPtr driver,
|
||||
unsigned long long progressTotal)
|
||||
{
|
||||
g_autoptr(qemuBlockStorageSourceAttachData) backend = NULL;
|
||||
g_autoptr(virJSONValue) actions = NULL;
|
||||
|
||||
qemuBackupNotifyBlockjobEnd(vm, job->disk, newstate, job->errmsg,
|
||||
progressCurrent, progressTotal, asyncJob);
|
||||
@ -1511,23 +1508,16 @@ qemuBlockJobProcessEventConcludedBackup(virQEMUDriverPtr driver,
|
||||
!(backend = qemuBlockStorageSourceDetachPrepare(job->data.backup.store, NULL)))
|
||||
return;
|
||||
|
||||
if (job->data.backup.bitmap) {
|
||||
actions = virJSONValueNewArray();
|
||||
|
||||
if (qemuMonitorTransactionBitmapRemove(actions,
|
||||
job->disk->src->nodeformat,
|
||||
job->data.backup.bitmap) < 0)
|
||||
return;
|
||||
}
|
||||
|
||||
if (qemuDomainObjEnterMonitorAsync(driver, vm, asyncJob) < 0)
|
||||
return;
|
||||
|
||||
if (backend)
|
||||
qemuBlockStorageSourceAttachRollback(qemuDomainGetMonitor(vm), backend);
|
||||
|
||||
if (actions)
|
||||
qemuMonitorTransaction(qemuDomainGetMonitor(vm), &actions);
|
||||
if (job->data.backup.bitmap)
|
||||
qemuMonitorBitmapRemove(qemuDomainGetMonitor(vm),
|
||||
job->disk->src->nodeformat,
|
||||
job->data.backup.bitmap);
|
||||
|
||||
if (qemuDomainObjExitMonitor(driver, vm) < 0)
|
||||
return;
|
||||
|
Loading…
x
Reference in New Issue
Block a user