From: Igor Mammedov <imammedo@redhat.com>
To: "Dr. David Alan Gilbert (git)" <dgilbert@redhat.com>
Cc: qemu-devel@nongnu.org, armbru@redhat.com, peterx@redhat.com
Subject: Re: [Qemu-devel] [PATCH v5 1/7] hmp: Add flag for preconfig commands
Date: Thu, 21 Jun 2018 10:44:05 +0200 [thread overview]
Message-ID: <20180621104405.12cf2e7c@redhat.com> (raw)
In-Reply-To: <20180620153947.30834-2-dgilbert@redhat.com>
On Wed, 20 Jun 2018 16:39:41 +0100
"Dr. David Alan Gilbert (git)" <dgilbert@redhat.com> wrote:
> From: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
>
> Add a flag to command definitions to allow them to be used in preconfig
> and check it.
> If users try to use commands that aren't available, tell them to use
> the exit_preconfig comand we're adding in a few patches.
>
> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
> ---
> monitor.c | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/monitor.c b/monitor.c
> index 885e000f9b..8dc86c0c3c 100644
> --- a/monitor.c
> +++ b/monitor.c
> @@ -128,6 +128,7 @@ typedef struct mon_cmd_t {
> const char *args_type;
> const char *params;
> const char *help;
> + const char *flags; /* p=preconfig */
> void (*cmd)(Monitor *mon, const QDict *qdict);
> /* @sub_table is a list of 2nd level of commands. If it does not exist,
> * cmd should be used. If it exists, sub_table[?].cmd should be
> @@ -958,6 +959,19 @@ static int parse_cmdline(const char *cmdline,
> return -1;
> }
>
> +/*
> + * Returns true if the command can be executed in preconfig mode
> + * i.e. it has the 'p' flag.
> + */
> +static bool cmd_can_preconfig(const mon_cmd_t *cmd)
> +{
> + if (!cmd->flags) {
> + return false;
> + }
> +
> + return strchr(cmd->flags, 'p');
> +}
> +
> static void help_cmd_dump_one(Monitor *mon,
> const mon_cmd_t *cmd,
> char **prefix_args,
> @@ -3041,6 +3055,12 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
> (int)(p - cmdp_start), cmdp_start);
> return NULL;
> }
> + if (runstate_check(RUN_STATE_PRECONFIG) && !cmd_can_preconfig(cmd)) {
> + monitor_printf(mon, "Command '%.*s' not available with -preconfig "
> + "until after exit_preconfig.\n",
> + (int)(p - cmdp_start), cmdp_start);
> + return NULL;
> + }
>
> /* filter out following useless space */
> while (qemu_isspace(*p)) {
next prev parent reply other threads:[~2018-06-21 8:44 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-20 15:39 [Qemu-devel] [PATCH v5 0/7] Reenable hmp for preconfig mode Dr. David Alan Gilbert (git)
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 1/7] hmp: Add flag for preconfig commands Dr. David Alan Gilbert (git)
2018-06-21 8:44 ` Igor Mammedov [this message]
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 2/7] hmp: Allow help on " Dr. David Alan Gilbert (git)
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 3/7] hmp: Restrict auto-complete in preconfig Dr. David Alan Gilbert (git)
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 4/7] qmp: Enable a few commands in preconfig state Dr. David Alan Gilbert (git)
2018-06-20 18:37 ` Eric Blake
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 5/7] hmp: Add commands for preconfig Dr. David Alan Gilbert (git)
2018-06-21 8:56 ` Igor Mammedov
2018-06-21 11:05 ` Dr. David Alan Gilbert
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 6/7] hmp: add exit_preconfig Dr. David Alan Gilbert (git)
2018-06-20 15:39 ` [Qemu-devel] [PATCH v5 7/7] hmp: Allow HMP in preconfig state again Dr. David Alan Gilbert (git)
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=20180621104405.12cf2e7c@redhat.com \
--to=imammedo@redhat.com \
--cc=armbru@redhat.com \
--cc=dgilbert@redhat.com \
--cc=peterx@redhat.com \
--cc=qemu-devel@nongnu.org \
/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.