[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 18/22] savevm: Convert do_delvm() to QObject, QE
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] Re: [PATCH 18/22] savevm: Convert do_delvm() to QObject, QError |
Date: |
Wed, 21 Apr 2010 16:18:18 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100330 Fedora/3.0.4-1.fc12 Thunderbird/3.0.4 |
Am 20.04.2010 23:09, schrieb Luiz Capitulino:
> Signed-off-by: Luiz Capitulino <address@hidden>
> ---
> qemu-monitor.hx | 3 ++-
> savevm.c | 14 ++++++++++----
> sysemu.h | 2 +-
> 3 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/qemu-monitor.hx b/qemu-monitor.hx
> index 5ea5748..71cb1a2 100644
> --- a/qemu-monitor.hx
> +++ b/qemu-monitor.hx
> @@ -274,7 +274,8 @@ ETEXI
> .args_type = "name:s",
> .params = "tag|id",
> .help = "delete a VM snapshot from its tag or id",
> - .mhandler.cmd = do_delvm,
> + .user_print = monitor_user_noop,
> + .mhandler.cmd_new = do_delvm,
> },
>
> STEXI
> diff --git a/savevm.c b/savevm.c
> index 643273e..031eeff 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -1815,24 +1815,30 @@ int load_vmstate(const char *name)
> return 0;
> }
>
> -void do_delvm(Monitor *mon, const QDict *qdict)
> +int do_delvm(Monitor *mon, const QDict *qdict, QObject **ret_data)
> {
> + int ret;
> DriveInfo *dinfo;
> BlockDriverState *bs, *bs1;
> const char *name = qdict_get_str(qdict, "name");
>
> bs = get_bs_snapshots();
> if (!bs) {
> - monitor_printf(mon, "No block device supports snapshots\n");
> - return;
> + qerror_report(QERR_SNAPSHOT_NO_DEVICE);
> + return -1;
> }
>
> + ret = -1;
> +
> QTAILQ_FOREACH(dinfo, &drives, next) {
> bs1 = dinfo->bdrv;
> if (bdrv_has_snapshot(bs1)) {
> - delete_snapshot(bs1, name);
> + /* FIXME: will report multiple failures in QMP */
> + ret = delete_snapshot(bs1, name);
> }
> }
> +
> + return (ret < 0 ? -1 : 0);
Doesn't this return success when the first drive fails and the second
one succeeds?
Kevin
- [Qemu-devel] Re: [PATCH 12/22] QError: New QERR_STATEVM_SAVE_FAILED, (continued)
- [Qemu-devel] [PATCH 10/22] QError: New QERR_SNAPSHOT_CREATE_FAILED, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 08/22] QError: New QERR_SNAPSHOT_NO_DEVICE, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 11/22] QError: New QERR_SNAPSHOT_ACTIVATE_FAILED, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 15/22] QError: New QERR_SNAPSHOT_NOT_FOUND, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 14/22] QError: New QERR_DEVICE_NO_SNAPSHOT, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 13/22] QError: New QERR_STATEVM_LOAD_FAILED, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 17/22] savevm: delete_snapshot(): Remove unused parameter, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 18/22] savevm: Convert do_delvm() to QObject, QError, Luiz Capitulino, 2010/04/20
- [Qemu-devel] Re: [PATCH 18/22] savevm: Convert do_delvm() to QObject, QError,
Kevin Wolf <=
- [Qemu-devel] [PATCH 19/22] savevm: Convert do_savevm() to QError, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 16/22] savevm: Convert delete_snapshot() to QError, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 20/22] savevm: Convert do_savevm() to QObject, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 21/22] savevm: Convert do_loadvm() to QError, Luiz Capitulino, 2010/04/20
- [Qemu-devel] [PATCH 22/22] savevm: Convert do_loadvm() to QObject, Luiz Capitulino, 2010/04/20
- [Qemu-devel] Re: [RFC 00/22]: QMP: Convert savevm/loadvm/delvm, Juan Quintela, 2010/04/20