From: Kevin Wolf <kwolf@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, vsementsov@virtuozzo.com,
dgilbert@redhat.com, qemu-block@nongnu.org
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH] hmp: Add nbd_server_remove to mirror QMP command
Date: Mon, 29 Jan 2018 16:13:08 +0100 [thread overview]
Message-ID: <20180129151308.GG6141@localhost.localdomain> (raw)
In-Reply-To: <20180125144557.25502-1-eblake@redhat.com>
Am 25.01.2018 um 15:45 hat Eric Blake geschrieben:
> Since everything else about the nbd-server-* QMP commands is
> accessible from HMP, we might as well make removing an export
> available as well. For now, I went with a bool flag rather
> than a mode string for choosing between safe (default) and
> hard modes.
>
> Signed-off-by: Eric Blake <eblake@redhat.com>
> ---
>
> Based-on: <20180119135719.24745-1-vsementsov@virtuozzo.com>
> ([PATCH v3 0/5] nbd export qmp interface)
>
> hmp.h | 1 +
> hmp.c | 14 +++++++++++---
> hmp-commands.hx | 17 +++++++++++++++++
> 3 files changed, 29 insertions(+), 3 deletions(-)
>
> diff --git a/hmp.h b/hmp.h
> index a6f56b1f29e..536cb91caa4 100644
> --- a/hmp.h
> +++ b/hmp.h
> @@ -101,6 +101,7 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict);
> void hmp_screendump(Monitor *mon, const QDict *qdict);
> void hmp_nbd_server_start(Monitor *mon, const QDict *qdict);
> void hmp_nbd_server_add(Monitor *mon, const QDict *qdict);
> +void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict);
> void hmp_nbd_server_stop(Monitor *mon, const QDict *qdict);
> void hmp_chardev_add(Monitor *mon, const QDict *qdict);
> void hmp_chardev_change(Monitor *mon, const QDict *qdict);
> diff --git a/hmp.c b/hmp.c
> index 7a64dd59c5c..b3de32d219b 100644
> --- a/hmp.c
> +++ b/hmp.c
> @@ -2226,10 +2226,18 @@ void hmp_nbd_server_add(Monitor *mon, const QDict *qdict)
> Error *local_err = NULL;
>
> qmp_nbd_server_add(device, !!name, name, true, writable, &local_err);
> + hmp_handle_error(mon, &local_err);
> +}
>
> - if (local_err != NULL) {
> - hmp_handle_error(mon, &local_err);
> - }
> +void hmp_nbd_server_remove(Monitor *mon, const QDict *qdict)
> +{
> + const char *name = qdict_get_str(qdict, "name");
> + bool force = qdict_get_try_bool(qdict, "force", false);
> + Error *err = NULL;
> +
> + /* Rely on NBD_SERVER_REMOVE_MODE_SAFE being the default */
> + qmp_nbd_server_remove(name, force, NBD_SERVER_REMOVE_MODE_HARD, &err);
Usually we pass has_* = true and don't rely on defaults which may change
in the long run. Might also make the code a bit easier to understand, as
the existence of your comment shows.
> + hmp_handle_error(mon, &err);
> }
Either way:
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
prev parent reply other threads:[~2018-01-29 15:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-25 14:45 [Qemu-devel] [PATCH] hmp: Add nbd_server_remove to mirror QMP command Eric Blake
2018-01-25 15:01 ` Eric Blake
2018-01-26 12:16 ` Dr. David Alan Gilbert
2018-01-29 15:13 ` Kevin Wolf [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180129151308.GG6141@localhost.localdomain \
--to=kwolf@redhat.com \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=vsementsov@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.