mirror of
https://git.proxmox.com/git/qemu
synced 2025-07-27 13:24:54 +00:00
hmp: add interface hmp_snapshot_delete_blkdev_internal
It is hard to make both id and name optional in hmp console as qmp interface, so this interface require user to specify name. Signed-off-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
775ca88e82
commit
7a4ed2ee42
@ -1050,6 +1050,24 @@ STEXI
|
|||||||
@item snapshot_blkdev_internal
|
@item snapshot_blkdev_internal
|
||||||
@findex snapshot_blkdev_internal
|
@findex snapshot_blkdev_internal
|
||||||
Take an internal snapshot on device if it support
|
Take an internal snapshot on device if it support
|
||||||
|
ETEXI
|
||||||
|
|
||||||
|
{
|
||||||
|
.name = "snapshot_delete_blkdev_internal",
|
||||||
|
.args_type = "device:B,name:s,id:s?",
|
||||||
|
.params = "device name [id]",
|
||||||
|
.help = "delete an internal snapshot of device.\n\t\t\t"
|
||||||
|
"If id is specified, qemu will try delete\n\t\t\t"
|
||||||
|
"the snapshot matching both id and name.\n\t\t\t"
|
||||||
|
"The format of the image used by device must\n\t\t\t"
|
||||||
|
"support it, such as qcow2.\n\t\t\t",
|
||||||
|
.mhandler.cmd = hmp_snapshot_delete_blkdev_internal,
|
||||||
|
},
|
||||||
|
|
||||||
|
STEXI
|
||||||
|
@item snapshot_delete_blkdev_internal
|
||||||
|
@findex snapshot_delete_blkdev_internal
|
||||||
|
Delete an internal snapshot on device if it support
|
||||||
ETEXI
|
ETEXI
|
||||||
|
|
||||||
{
|
{
|
||||||
|
12
hmp.c
12
hmp.c
@ -988,6 +988,18 @@ void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict)
|
|||||||
hmp_handle_error(mon, &errp);
|
hmp_handle_error(mon, &errp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict)
|
||||||
|
{
|
||||||
|
const char *device = qdict_get_str(qdict, "device");
|
||||||
|
const char *name = qdict_get_str(qdict, "name");
|
||||||
|
const char *id = qdict_get_try_str(qdict, "id");
|
||||||
|
Error *errp = NULL;
|
||||||
|
|
||||||
|
qmp_blockdev_snapshot_delete_internal_sync(device, !!id, id,
|
||||||
|
true, name, &errp);
|
||||||
|
hmp_handle_error(mon, &errp);
|
||||||
|
}
|
||||||
|
|
||||||
void hmp_migrate_cancel(Monitor *mon, const QDict *qdict)
|
void hmp_migrate_cancel(Monitor *mon, const QDict *qdict)
|
||||||
{
|
{
|
||||||
qmp_migrate_cancel(NULL);
|
qmp_migrate_cancel(NULL);
|
||||||
|
1
hmp.h
1
hmp.h
@ -55,6 +55,7 @@ void hmp_balloon(Monitor *mon, const QDict *qdict);
|
|||||||
void hmp_block_resize(Monitor *mon, const QDict *qdict);
|
void hmp_block_resize(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
|
void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict);
|
void hmp_snapshot_blkdev_internal(Monitor *mon, const QDict *qdict);
|
||||||
|
void hmp_snapshot_delete_blkdev_internal(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
|
void hmp_drive_mirror(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_drive_backup(Monitor *mon, const QDict *qdict);
|
void hmp_drive_backup(Monitor *mon, const QDict *qdict);
|
||||||
void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
|
void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
|
||||||
|
Loading…
Reference in New Issue
Block a user