From: Luiz Capitulino <lcapitulino@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: bazulay@redhat.com, juzhang@redhat.com, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 1/2] QMP: Introduce commands doc
Date: Wed, 12 May 2010 18:17:12 -0300 [thread overview]
Message-ID: <20100512181712.5637f26f@redhat.com> (raw)
In-Reply-To: <m3wrv95amx.fsf@blackfin.pond.sub.org>
On Wed, 12 May 2010 18:48:38 +0200
Markus Armbruster <armbru@redhat.com> wrote:
> > +query-block
> > +-----------
> > +
> > +Show the block devices.
> > +
> > +Each block device information is stored in a json-object and the returned value
> > +is a json-array of all devices.
> > +
> > +Each json-object contain the following:
> > +
> > +- "device": device name (json-string)
> > +- "type": device type (json-string)
>
> Possible values? "hd", "cdrom", "floppy". Code also has "unknown", but
> when it uses that, it's badly broken.
Yes, but you didn't mean we shouldn't use 'unknown', right?
> > +- "removable": true if the device is removable, false otherwise (json-bool)
> > +- "locked": true if the device is locked, false otherwise (json-bool)
> > +- "inserted": only present if the device is inserted, it is a json-object
> > + containing the following:
> > + - "file": device file name (json-string)
> > + - "ro": true if read-only, false otherwise (json-bool)
> > + - "drv": driver format name (json-string)
>
> Possible values?
I got the following list by grepping the code. Kevin, can you confirm it's
correct?
"blkdebug", "bochs", "cloop", "cow", "dmg", "file", "file", "ftp", "ftps",
"host_cdrom", "host_cdrom", "host_device", "host_device", "host_floppy",
"http", "https", "nbd", "parallels", "qcow", "qcow2", "raw", "tftp", "vdi",
"vmdk", "vpc", "vvfat"
> > +query-cpus
> > +----------
> > +
> > +Show CPU information.
> > +
> > +Return a json-array. Each CPU is represented by a json-object, which contains:
> > +
> > +- "cpu": CPU index (json-int)
>
> It's actually upper case (see example below). I hate that.
Hm, this one leaked.. But it's quite minor anyway.
> > +- "current": true if this is the current CPU, false otherwise (json-bool)
> > +- "halted": true if the cpu is halted, false otherwise (json-bool)
> > +- Current program counter. The key's name depends on the architecture:
> > + "pc": i386/x86_64 (json-int)
> > + "nip": PPC (json-int)
> > + "pc" and "npc": sparc (json-int)
> > + "PC": mips (json-int)
>
> Key name depending on arch: isn't that an extraordinarily bad idea?
Honestly, I don't think it's that bad: it's a form of optional key,
but if you think it's so bad I can add a "arch" key with the arch's name.
Don't think anyone is using this, anyway.
> > +query-migrate
> > +-------------
> > +
> > +Migration status.
> > +
> > +Return a json-object. If migration is active there will be another json-object
> > +with RAM migration status and if block migration is active another one with
> > +block migration status.
> > +
> > +The main json-object contains the following:
> > +
> > +- "status": migration status (json-string)
>
> Possible values? "active", "completed", "failed", "cancelled". Note
> there's no value for "never attempted"; see below.
>
> > +- "ram": only present if "status" is "active", it is a json-object with the
> > + following RAM information (in bytes):
> > + - "transferred": amount transferred (json-int)
> > + - "remaining": amount remaining (json-int)
> > + - "total": total (json-int)
> > +- "disk": only present if "status" is "active" and it is a block migration,
> > + it is a json-object with the following disk information (in bytes):
> > + - "transferred": amount transferred (json-int)
> > + - "remaining": amount remaining (json-int)
> > + - "total": total (json-int)
>
> Before the first migration, we actually reply with
>
> {"return": {}}
>
> which contradicts the doc.
Good catch, what would be the best behavior here?
> > +Example:
> > +
> > +{
> > + "return":[
> > + {
> > + "bus":0,
> > + "devices":[
> > + {
> > + "bus":0,
> > + "qdev_id":"",
> > + "slot":0,
> > + "class_info":{
> > + "class":1536,
> > + "desc":"Host bridge"
> > + },
> > + "id":{
> > + "device":32902,
> > + "vendor":4663
> > + },
> > + "function":0,
> > + "regions":[
> > +
> > + ]
>
> Suggest to simply write
>
> "regions":[]
I could, and I agree it's better, but I'm using a formatting tool, so
editing by hand would be a PITA.
> > +Note: This example has been shortened as the real response is too long.
>
> Actually, I get a shorter response for my minimal guest: just slots
> 0..3. Suggest to omit slot 4 and this note.
What's the command-line for it?
> > +query-vnc
> > +---------
> > +
> > +Show VNC server information.
> > +
> > +Return a json-object with server information. Connected clients are returned
> > +as a json-array of json-objects.
> > +
> > +The main json-object contains the following:
> > +
> > +- "enabled": true or false (json-bool)
> > +- "host": server's IP address (json-string)
>
> Wouldn't hurt to mention it can be a wildcard address. The example
> below shows the IPv4 wildcard address "0.0.0.0".
>
> > +- "family": address family (json-string, "ipv4" or "ipv6")
>
> inet_strfamily() can also return "unix" and "unknown".
>
> By the way, we use PF_INET6, PF_INET and PF_UNIX there. To be
> pedantically correct, we should use AF_INET6, AF_INET and AF_LOCAL.
>
> > +- "service": server's port number (json-string)
>
> Why isn't this json-int?
Because getnameinfo() returns a string and I didn't bother using it,
do you?
next prev parent reply other threads:[~2010-05-13 3:30 UTC|newest]
Thread overview: 50+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-05 19:11 [Qemu-devel] [PATCH v2 0/2]: QMP: Commands doc Luiz Capitulino
2010-05-05 19:11 ` [Qemu-devel] [PATCH 1/2] QMP: Introduce commands doc Luiz Capitulino
2010-05-12 16:48 ` Markus Armbruster
2010-05-12 21:17 ` Luiz Capitulino [this message]
2010-05-13 7:01 ` Markus Armbruster
2010-05-13 13:15 ` Luiz Capitulino
2010-05-14 11:29 ` Kevin Wolf
2010-05-13 13:48 ` Avi Kivity
2010-05-13 14:55 ` Luiz Capitulino
2010-05-13 15:01 ` Daniel P. Berrange
2010-05-13 16:23 ` Avi Kivity
2010-05-13 21:57 ` Luiz Capitulino
2010-05-14 8:33 ` Markus Armbruster
2010-05-14 16:42 ` Avi Kivity
2010-05-14 17:06 ` Markus Armbruster
2010-05-13 15:05 ` Avi Kivity
2010-05-14 8:39 ` Markus Armbruster
2010-05-14 15:07 ` Luiz Capitulino
2010-05-14 8:50 ` Markus Armbruster
2010-05-14 15:43 ` Avi Kivity
2010-05-14 17:03 ` Markus Armbruster
2010-05-14 17:09 ` Avi Kivity
2010-05-17 8:27 ` Markus Armbruster
2010-05-17 9:09 ` Avi Kivity
2010-05-17 11:19 ` Markus Armbruster
2010-05-17 18:01 ` Anthony Liguori
2010-05-17 19:21 ` Gerd Hoffmann
2010-05-18 6:55 ` Avi Kivity
2010-05-14 22:54 ` Luiz Capitulino
2010-05-15 6:19 ` Avi Kivity
2010-05-17 8:27 ` Markus Armbruster
2010-05-17 18:10 ` Anthony Liguori
2010-05-17 18:12 ` Avi Kivity
2010-05-18 9:51 ` Markus Armbruster
2010-05-18 12:45 ` Luiz Capitulino
2010-05-14 8:52 ` Markus Armbruster
2010-05-14 16:52 ` [Qemu-devel] " Jan Kiszka
2010-05-14 17:01 ` Avi Kivity
2010-05-14 17:02 ` Avi Kivity
2010-05-14 17:08 ` Jan Kiszka
2010-05-14 17:12 ` Avi Kivity
2010-05-14 23:10 ` Luiz Capitulino
2010-05-15 8:42 ` Jan Kiszka
2010-05-17 13:22 ` Luiz Capitulino
2010-05-18 11:21 ` Markus Armbruster
2010-05-18 12:48 ` Luiz Capitulino
2010-05-05 19:11 ` [Qemu-devel] [PATCH 2/2] Monitor: Drop QMP documentation from code Luiz Capitulino
-- strict thread matches above, loose matches on Subject: below --
2010-04-30 17:03 [Qemu-devel] [PATCH 0/2] QMP: Commands doc Luiz Capitulino
2010-04-30 17:03 ` [Qemu-devel] [PATCH 1/2] QMP: Introduce commands doc Luiz Capitulino
2010-05-03 16:24 ` Markus Armbruster
2010-05-04 21:58 ` Luiz Capitulino
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=20100512181712.5637f26f@redhat.com \
--to=lcapitulino@redhat.com \
--cc=armbru@redhat.com \
--cc=bazulay@redhat.com \
--cc=juzhang@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.