From: Gerd Hoffmann <kraxel@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: qemu-devel@nongnu.org, Luiz Capitulino <lcapitulino@redhat.com>
Subject: Re: [Qemu-devel] [RfC PATCH 0/5] console: qom-ify & extent screendump monitor command
Date: Mon, 22 Apr 2013 09:19:35 +0200 [thread overview]
Message-ID: <5174E487.6000200@redhat.com> (raw)
In-Reply-To: <5170129A.8010807@redhat.com>
On 04/18/13 17:34, Eric Blake wrote:
> On 04/18/2013 09:21 AM, Luiz Capitulino wrote:
>>>> Question for the libvirt guys: Is it ok for libvirt to just extend the
>>>> existing screendump command? Can libvirt figure there is a new
>>>> (optional) parameter? See patch #5.
>>>
>
>>> So yes, I think libvirt will be able to drive the new command by knowing
>>> how many heads appear per device, then passing in the appropriate named
>>> device to the QMP command. And yes, I'll review patch 5 regarding
>>> interface design.
>>
>> We can extend screendump on HMP, but the general rule for QMP is to add a
>> new command instead so that clients don't have to play tricks like Eric is
>> suggesting :)
Ahem. It didn't sound like libvirt plays tricks there, to me it simply
looked like an description of how libvirt manages devices + heads and
the confirmation that libvirt indeed know which device it wants a
screenshot from.
We also have to care to not mix up two things: #1 is whenever we'll go
extent screendump or add screendump2 (see sub-thread started by markus
reply). #2 the actual design of the new/extended command.
> The problem at hand is that your proposal in patch 5:
>
> -{ 'command': 'screendump', 'data': {'filename': 'str'} }
> +{ 'command': 'screendump', 'data': {'filename': 'str',
> + '*device' : 'str'} }
>
> still doesn't support the case of dumping just one head of a multi-head
> device.
qxl is the only device with multihead support, and it works by defining
a large framebuffer and defining the heads as rectangles within this
framebuffer:
+-------------------------------------------+
| framebuffer |
| +-------------+ +----------+ |
| | head 1 | | head 2 | |
| | | | | |
| +-------------+ +----------+ |
+-------------------------------------------+
(in practice you wouldn't have unused space around the heads of course,
but it's easier to draw this way ;)
So a recent spice client will get the head configuration info, then open
two windows, one for each head. A old spice client without multihead
support will create a single window covering the whole framebuffer
instead. Asking qemu to screendump a multihead qxl device will likewise
write out a dump of the whole framebuffer, i.e. the dump will have *all*
heads.
> device selection. Libvirt uses query-commands to determine whether new
So query-commands doesn't list the arguments supported by a command,
only the commands themself.
> Option 2 is probably slightly nicer for guaranteeing a sane error
> message back to the user, but option 1 (the approach of this series)
> still seems workable.
Sane error messaging is good, I'd still prefer Option 1 though, to get
both we'll need a new query-arguments command I guess ...
cheers,
Gerd
next prev parent reply other threads:[~2013-04-22 7:19 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-04-18 9:01 [Qemu-devel] [RfC PATCH 0/5] console: qom-ify & extent screendump monitor command Gerd Hoffmann
2013-04-18 9:01 ` [Qemu-devel] [PATCH 1/5] console: qom-ify QemuConsole Gerd Hoffmann
2013-04-18 9:01 ` [Qemu-devel] [PATCH 2/5] console: Hook QemuConsoles into qom tree Gerd Hoffmann
2013-04-18 9:01 ` [Qemu-devel] [PATCH 3/5] console: add device link to QemuConsoles Gerd Hoffmann
2013-04-18 9:01 ` [Qemu-devel] [PATCH 4/5] console: add qemu_console_lookup_by_device Gerd Hoffmann
2013-04-18 9:01 ` [Qemu-devel] [PATCH 5/5] console: extend screendump monitor cmd Gerd Hoffmann
2013-04-18 12:10 ` [Qemu-devel] [RfC PATCH 0/5] console: qom-ify & extent screendump monitor command Eric Blake
2013-04-18 15:21 ` Luiz Capitulino
2013-04-18 15:34 ` Eric Blake
2013-04-22 7:19 ` Gerd Hoffmann [this message]
2013-04-19 8:37 ` Markus Armbruster
2013-04-19 13:03 ` Eric Blake
2013-04-22 6:55 ` Gerd Hoffmann
2013-04-22 9:37 ` Paolo Bonzini
2013-04-22 12:50 ` Luiz Capitulino
2013-04-22 13:00 ` Paolo Bonzini
2013-04-22 16:49 ` Anthony Liguori
2013-04-22 17:03 ` Paolo Bonzini
2013-04-22 17:23 ` Eric Blake
2013-04-23 5:15 ` Gerd Hoffmann
2013-04-22 17:56 ` Anthony Liguori
2013-04-23 11:57 ` Gerd Hoffmann
2013-04-25 20:55 ` Anthony Liguori
2013-04-25 21:17 ` Luiz Capitulino
2013-04-25 21:55 ` Eric Blake
2013-04-25 22:19 ` Anthony Liguori
2013-04-25 22:19 ` Anthony Liguori
2013-04-26 0:41 ` 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=5174E487.6000200@redhat.com \
--to=kraxel@redhat.com \
--cc=eblake@redhat.com \
--cc=lcapitulino@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.