From: Luiz Capitulino <lcapitulino@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: Jes.Sorensen@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH 3/5] Add support for 'o' octet (bytes) format as monitor parameter.
Date: Tue, 28 Sep 2010 11:28:45 -0300 [thread overview]
Message-ID: <20100928112845.507465ed@doriath> (raw)
In-Reply-To: <m3eiceji7q.fsf@blackfin.pond.sub.org>
On Tue, 28 Sep 2010 12:06:01 +0200
Markus Armbruster <armbru@redhat.com> wrote:
> Jes.Sorensen@redhat.com writes:
>
> > From: Jes Sorensen <Jes.Sorensen@redhat.com>
> >
> > Octet format relies on strtobytes which supports K/k, M/m, G/g, T/t
> > suffixes and unit support for humans, like 1.3G
> >
> > Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
> > ---
> > monitor.c | 27 +++++++++++++++++++++++++++
> > 1 files changed, 27 insertions(+), 0 deletions(-)
> >
> > diff --git a/monitor.c b/monitor.c
> > index e602480..3630061 100644
> > --- a/monitor.c
> > +++ b/monitor.c
> > @@ -78,6 +78,11 @@
> > * 'l' target long (32 or 64 bit)
> > * 'M' just like 'l', except in user mode the value is
> > * multiplied by 2^20 (think Mebibyte)
> > + * 'o' octets (aka bytes)
> > + * user mode accepts an optional T, t, G, g, M, m, K, k
> > + * suffix, which multiplies the value by 2^40 for
> > + * suffixes T and t, 2^30 for suffixes G and g, 2^20 for
> > + * M and m, 2^10 for K and k
> > * 'f' double
> > * user mode accepts an optional G, g, M, m, K, k suffix,
> > * which multiplies the value by 2^30 for suffixes G and
> > @@ -3594,6 +3599,28 @@ static const mon_cmd_t *monitor_parse_command(Monitor *mon,
> > qdict_put(qdict, key, qint_from_int(val));
> > }
> > break;
> > + case 'o':
> > + {
> > + int64_t val;
> > + char *end;
> > +
> > + while (qemu_isspace(*p))
> > + p++;
> > + if (*typestr == '?') {
> > + typestr++;
> > + if (*p == '\0') {
> > + break;
> > + }
> > + }
> > + val = strtobytes(p, &end);
> > + if (!val) {
> > + monitor_printf(mon, "invalid size\n");
> > + goto fail;
> > + }
> > + qdict_put(qdict, key, qint_from_int(val));
> > + p = end;
> > + }
> > + break;
> > case 'f':
> > case 'T':
> > {
>
> This is incomplete, you need to update check_client_args_type() as
> well. Testing with QMP should have made that obvious.
Right and we have the same issue with 'f' as you pointed out.
However, the real problem here is that I've duplicated this stuff
in QMP.
I see two solutions:
1. Move all this stuff to common code (say monitor_args.c). This is
easy and quick
2. Move QMP away from args_type. This is probably the right thing to
do, but then I'm afraid that we'll have two different kinds of
'argument specifiers' (ie. QMP's and HMP's)
next prev parent reply other threads:[~2010-09-28 14:28 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-09-16 14:52 [Qemu-devel] [PATCH v2 0/5] Introduce strtobytes and make use of it Jes.Sorensen
2010-09-16 14:52 ` [Qemu-devel] [PATCH 1/5] Introduce strtobytes() library function to convert string to byte count Jes.Sorensen
2010-09-28 9:48 ` Markus Armbruster
2010-09-16 14:52 ` [Qemu-devel] [PATCH 2/5] Support human unit formats in strtobytes, eg. 1.0G Jes.Sorensen
2010-09-28 9:56 ` Markus Armbruster
2010-09-16 14:52 ` [Qemu-devel] [PATCH 3/5] Add support for 'o' octet (bytes) format as monitor parameter Jes.Sorensen
2010-09-28 10:06 ` Markus Armbruster
2010-09-28 14:28 ` Luiz Capitulino [this message]
2010-09-16 14:52 ` [Qemu-devel] [PATCH 4/5] Switch migrate_set_speed() to take an 'o' argument rather than a float Jes.Sorensen
2010-09-28 10:08 ` Markus Armbruster
2010-09-28 14:32 ` Luiz Capitulino
2010-10-07 14:12 ` Jes Sorensen
2010-09-16 14:52 ` [Qemu-devel] [PATCH 5/5] Remove obsolete 'f' double parameter type Jes.Sorensen
2010-09-28 10:08 ` Markus Armbruster
-- strict thread matches above, loose matches on Subject: below --
2010-09-15 12:23 [Qemu-devel] [PATCH 0/5] Introduce strtobytes and make use of it Jes.Sorensen
2010-09-15 12:23 ` [Qemu-devel] [PATCH 3/5] Add support for 'o' octet (bytes) format as monitor parameter Jes.Sorensen
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=20100928112845.507465ed@doriath \
--to=lcapitulino@redhat.com \
--cc=Jes.Sorensen@redhat.com \
--cc=armbru@redhat.com \
--cc=pbonzini@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).