mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-23 03:42:19 +00:00
qemu: blockjob: Add job types for 'snapshot-save/delete'
The snapshot creation/deletion QMP commands use the qemu 'job' API to signal completion thus we need to add corresponding job types. As the job handles everything internally we don't store anything about the job. Signed-off-by: Nikolai Barybin <nikolai.barybin@virtuozzo.com> Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
5d0773633a
commit
ce4ed8deef
@ -3775,6 +3775,8 @@ qemuBlockPivot(virDomainObj *vm,
|
||||
case QEMU_BLOCKJOB_TYPE_BACKUP:
|
||||
case QEMU_BLOCKJOB_TYPE_INTERNAL:
|
||||
case QEMU_BLOCKJOB_TYPE_CREATE:
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_SAVE:
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_DELETE:
|
||||
case QEMU_BLOCKJOB_TYPE_BROKEN:
|
||||
virReportError(VIR_ERR_OPERATION_INVALID,
|
||||
_("job type '%1$s' does not support pivot"),
|
||||
|
@ -68,6 +68,8 @@ VIR_ENUM_IMPL(qemuBlockjob,
|
||||
"backup",
|
||||
"",
|
||||
"create",
|
||||
"snapshot-save",
|
||||
"snapshot-delete",
|
||||
"broken");
|
||||
|
||||
static virClass *qemuBlockJobDataClass;
|
||||
@ -1455,6 +1457,11 @@ qemuBlockJobEventProcessConcludedTransition(qemuBlockJobData *job,
|
||||
progressTotal);
|
||||
break;
|
||||
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_SAVE:
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_DELETE:
|
||||
/* The internal snapshot jobs don't need any extra handling */
|
||||
break;
|
||||
|
||||
case QEMU_BLOCKJOB_TYPE_BROKEN:
|
||||
case QEMU_BLOCKJOB_TYPE_NONE:
|
||||
case QEMU_BLOCKJOB_TYPE_INTERNAL:
|
||||
|
@ -65,6 +65,8 @@ typedef enum {
|
||||
/* Additional enum values local to qemu */
|
||||
QEMU_BLOCKJOB_TYPE_INTERNAL,
|
||||
QEMU_BLOCKJOB_TYPE_CREATE,
|
||||
QEMU_BLOCKJOB_TYPE_SNAPSHOT_SAVE,
|
||||
QEMU_BLOCKJOB_TYPE_SNAPSHOT_DELETE,
|
||||
QEMU_BLOCKJOB_TYPE_BROKEN,
|
||||
QEMU_BLOCKJOB_TYPE_LAST
|
||||
} qemuBlockJobType;
|
||||
|
@ -2478,6 +2478,11 @@ qemuDomainObjPrivateXMLFormatBlockjobIterator(void *payload,
|
||||
}
|
||||
break;
|
||||
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_SAVE:
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_DELETE:
|
||||
/* No private data for internal snapshot jobs */
|
||||
break;
|
||||
|
||||
case QEMU_BLOCKJOB_TYPE_BROKEN:
|
||||
case QEMU_BLOCKJOB_TYPE_NONE:
|
||||
case QEMU_BLOCKJOB_TYPE_INTERNAL:
|
||||
@ -3030,6 +3035,11 @@ qemuDomainObjPrivateXMLParseBlockjobDataSpecific(qemuBlockJobData *job,
|
||||
goto broken;
|
||||
break;
|
||||
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_SAVE:
|
||||
case QEMU_BLOCKJOB_TYPE_SNAPSHOT_DELETE:
|
||||
/* No extra data for internal snapshot jobs. */
|
||||
break;
|
||||
|
||||
case QEMU_BLOCKJOB_TYPE_BROKEN:
|
||||
case QEMU_BLOCKJOB_TYPE_NONE:
|
||||
case QEMU_BLOCKJOB_TYPE_INTERNAL:
|
||||
|
Loading…
x
Reference in New Issue
Block a user