Markus Armbruster <arm...@redhat.com> wrote:
> "Denis V. Lunev" <d...@openvz.org> writes:
>
>> Signed-off-by: Denis V. Lunev <d...@openvz.org>
>> CC: Juan Quintela <quint...@redhat.com>
>> CC: Amit Shah <amit.s...@redhat.com>
>> CC: Markus Armbruster <arm...@redhat.com>
>> CC: Eric Blake <ebl...@redhat.com>
>> ---
>> migration/savevm.c | 27 ++++++++++++++++++---------
>> qapi-schema.json | 13 +++++++++++++
>> qmp-commands.hx | 23 +++++++++++++++++++++++
>> 3 files changed, 54 insertions(+), 9 deletions(-)
>>
>> diff --git a/migration/savevm.c b/migration/savevm.c
>> index 565b10a..90b6850 100644
>> --- a/migration/savevm.c
>> +++ b/migration/savevm.c
>> @@ -2115,17 +2115,26 @@ int load_vmstate(const char *name)
>> return 0;
>> }
>>
>> -void hmp_delvm(Monitor *mon, const QDict *qdict)
>> +void qmp_delvm(const char *name, Error **errp)
>> {
>> BlockDriverState *bs;
>> - Error *err;
>> - const char *name = qdict_get_str(qdict, "name");
>> -
>> - if (bdrv_all_delete_snapshot(name, &bs, &err) < 0) {
>> - monitor_printf(mon,
>> - "Error while deleting snapshot on device '%s': %s\n",
>> - bdrv_get_device_name(bs), error_get_pretty(err));
>> - error_free(err);
>> + Error *local_err = NULL;
>> +
>> + if (bdrv_all_delete_snapshot(name, &bs, errp) < 0) {
>> + error_setg(errp, "Error while deleting snapshot on device '%s': %s",
>> + bdrv_get_device_name(bs), error_get_pretty(local_err));
>> + error_free(local_err);
>> + }
>> +}
>> +
>> +void hmp_delvm(Monitor *mon, const QDict *qdict)
>> +{
>> + Error *local_err = NULL;
>> + qmp_delvm(qdict_get_str(qdict, "name"), &local_err);
>> +
>> + if (local_err != NULL) {
>> + monitor_printf(mon, "%s\n", error_get_pretty(local_err));
>> + error_free(local_err);
>
> error_report_err(), please.
>
>> }
>> }
>
> Juan, Amit, in case you'd prefer to move out the parts that implement
> HMP on top of QMP: they can go into hmp.c as long as they're as simple
> as this one.
Perfect for me.
Thanks, Juan.