[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
From: |
Peter Krempa |
Subject: |
Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output |
Date: |
Fri, 31 May 2013 14:45:29 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130509 Thunderbird/17.0.6 |
On 05/31/13 14:36, Eric Blake wrote:
> On 05/28/2013 12:34 AM, Gerd Hoffmann wrote:
>> Fill unset CharDriverState->filename with the backend name, so
>> 'info chardev' will return at least the chardev type. Don't
>> touch it in case the chardev init function filled it already,
>> like the socket+pty chardevs do for example.
>>
>> Signed-off-by: Gerd Hoffmann <address@hidden>
>> ---
>> qemu-char.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/qemu-char.c b/qemu-char.c
>> index f825294..d04b429 100644
>> --- a/qemu-char.c
>> +++ b/qemu-char.c
>> @@ -3801,6 +3801,9 @@ ChardevReturn *qmp_chardev_add(const char *id,
>> ChardevBackend *backend,
>> chr->label = g_strdup(id);
>> chr->avail_connections =
>> (backend->kind == CHARDEV_BACKEND_KIND_MUX) ? MAX_MUX : 1;
>> + if (!chr->filename) {
>> + chr->filename =
>> g_strdup(ChardevBackendKind_lookup[backend->kind]);
>> + }
>> QTAILQ_INSERT_TAIL(&chardevs, chr, next);
>> return ret;
>> } else {
>>
>
> Peter was telling me on IRC that this patch is still broken with regards
> to libvirt; I've cc'd him to provide more details...
>
Without this patch the returned message for "query-chardev" is:
{
"return": [
{
"filename": "pty:/dev/pts/8",
"label": "charserial0"
},
{
"filename": "unix:/var/lib/libvirt/qemu/qemu-git.monitor,server",
"label": "charmonitor"
}
],
"id": "libvirt-2"
}
this patch changes it to:
{
"return": [
{
"filename": "pty",
"label": "charserial0"
},
{
"filename": "unix:/var/lib/libvirt/qemu/qemu-git.monitor,server",
"label": "charmonitor"
}
],
"id": "libvirt-2"
}
It's apparent that some code being executed after the code in this patch
fills the actual pty path that was allocated. With it pre-allocated the
code ignores it. Libvirt is using the output to gather names of the pty
so that they can be used to connect to the console.
Peter
[Qemu-devel] [PATCH 1/2] Revert "chardev: Get filename for new qapi backend", Gerd Hoffmann, 2013/05/28
Re: [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output, Eric Blake, 2013/05/28