qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output
@ 2013-05-28 10:27 Gerd Hoffmann
  2013-05-28 10:27 ` [Qemu-devel] [PATCH 1/2] Revert "chardev: Get filename for new qapi backend" Gerd Hoffmann
                   ` (3 more replies)
  0 siblings, 4 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-28 10:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: seabios, qemu-stable, Gerd Hoffmann

  Hi,

Tiny series, first reverting the broken patch from Lei Li,
then fixing it for real.

please pull,
  Gerd

The following changes since commit 6a4e17711442849bf2cc731ccddef5a2a2d92d29:

  Remove Sun4c, Sun4d and a few CPUs (2013-05-26 11:37:58 +0000)

are available in the git repository at:

  git://git.kraxel.org/qemu chardev.6

for you to fetch changes up to 60d95386abf1f5f37ded6a812d12ac458df2491b:

  chardev: fix "info chardev" output (2013-05-27 12:47:28 +0200)

----------------------------------------------------------------
Gerd Hoffmann (2):
      Revert "chardev: Get filename for new qapi backend"
      chardev: fix "info chardev" output

 qemu-char.c |    5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 1/2] Revert "chardev: Get filename for new qapi backend"
  2013-05-28 10:27 [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output Gerd Hoffmann
@ 2013-05-28 10:27 ` Gerd Hoffmann
  2013-05-28 10:27 ` [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output Gerd Hoffmann
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-28 10:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, seabios, qemu-stable, Gerd Hoffmann

Does not handle chardevs created via chardev-add monitor command.

This reverts commit 2b220025993e76d4116781ca91a4fabc5ad9c722.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 qemu-char.c |    2 --
 1 file changed, 2 deletions(-)

diff --git a/qemu-char.c b/qemu-char.c
index 4f8382e..f825294 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -3276,7 +3276,6 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
         ChardevReturn *ret = NULL;
         const char *id = qemu_opts_id(opts);
         const char *bid = NULL;
-        char *filename = g_strdup(qemu_opt_get(opts, "backend"));
 
         if (qemu_opt_get_bool(opts, "mux", 0)) {
             bid = g_strdup_printf("%s-base", id);
@@ -3309,7 +3308,6 @@ CharDriverState *qemu_chr_new_from_opts(QemuOpts *opts,
         }
 
         chr = qemu_chr_find(id);
-        chr->filename = filename;
 
     qapi_out:
         qapi_free_ChardevBackend(backend);
-- 
1.7.9.7

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-28 10:27 [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output Gerd Hoffmann
  2013-05-28 10:27 ` [Qemu-devel] [PATCH 1/2] Revert "chardev: Get filename for new qapi backend" Gerd Hoffmann
@ 2013-05-28 10:27 ` Gerd Hoffmann
  2013-05-28 10:31 ` [Qemu-devel] [SeaBIOS] [PULL 0/2] " Gerd Hoffmann
  2013-06-17 21:18 ` [Qemu-devel] " Anthony Liguori
  3 siblings, 0 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-28 10:27 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, seabios, qemu-stable, Gerd Hoffmann

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 <kraxel@redhat.com>
---
 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 {
-- 
1.7.9.7

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [SeaBIOS] [PULL 0/2] chardev: fix "info chardev" output
  2013-05-28 10:27 [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output Gerd Hoffmann
  2013-05-28 10:27 ` [Qemu-devel] [PATCH 1/2] Revert "chardev: Get filename for new qapi backend" Gerd Hoffmann
  2013-05-28 10:27 ` [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output Gerd Hoffmann
@ 2013-05-28 10:31 ` Gerd Hoffmann
  2013-06-17 21:18 ` [Qemu-devel] " Anthony Liguori
  3 siblings, 0 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-28 10:31 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: seabios, qemu-devel, qemu-stable

On 05/28/13 12:27, Gerd Hoffmann wrote:
>   Hi,
> 
> Tiny series, first reverting the broken patch from Lei Li,
> then fixing it for real.

Oops, scratch that.  Resent an old series due to 'git send-email
00*.patch' in the wrong directory.

sorry,
  Gerd

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output
  2013-05-28 10:27 [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2013-05-28 10:31 ` [Qemu-devel] [SeaBIOS] [PULL 0/2] " Gerd Hoffmann
@ 2013-06-17 21:18 ` Anthony Liguori
  3 siblings, 0 replies; 11+ messages in thread
From: Anthony Liguori @ 2013-06-17 21:18 UTC (permalink / raw)
  To: Gerd Hoffmann, qemu-devel; +Cc: seabios, qemu-stable

Pulled.  Thanks.

Regards,

Anthony Liguori

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-31 13:21       ` Gerd Hoffmann
@ 2013-05-31 13:30         ` Peter Krempa
  0 siblings, 0 replies; 11+ messages in thread
From: Peter Krempa @ 2013-05-31 13:30 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: Anthony Liguori, qemu-devel, stefano.stabellini

On 05/31/13 15:21, Gerd Hoffmann wrote:
>    Hi,
>

Hi,

>
> Please double-check.  Current master
> (87d23f78aa79b72da022afda358bbc8a8509ca70 to be exact) works just fine
> for me.  libvirt works, including a serial line redirected to pty, and
> 'info chardev' looks sane too.

sorry for the fuzz. :/ Upstream is really working, One of the tested 
binaries was actually predating the pull of your fix and I forgot to 
verify that as It was built yesterday.


Again sorry for the noise, it's working now.

Peter

>
> cheers,
>    Gerd
>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-31 12:45     ` Peter Krempa
@ 2013-05-31 13:21       ` Gerd Hoffmann
  2013-05-31 13:30         ` Peter Krempa
  0 siblings, 1 reply; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-31 13:21 UTC (permalink / raw)
  To: Peter Krempa; +Cc: Anthony Liguori, qemu-devel, stefano.stabellini

  Hi,

> 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"
> }

Please double-check.  Current master
(87d23f78aa79b72da022afda358bbc8a8509ca70 to be exact) works just fine
for me.  libvirt works, including a serial line redirected to pty, and
'info chardev' looks sane too.

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-31 12:36   ` Eric Blake
@ 2013-05-31 12:45     ` Peter Krempa
  2013-05-31 13:21       ` Gerd Hoffmann
  0 siblings, 1 reply; 11+ messages in thread
From: Peter Krempa @ 2013-05-31 12:45 UTC (permalink / raw)
  To: Eric Blake; +Cc: Anthony Liguori, stefano.stabellini, Gerd Hoffmann, qemu-devel

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 <kraxel@redhat.com>
>> ---
>>   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

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-28  6:34 ` [Qemu-devel] [PATCH 2/2] " Gerd Hoffmann
  2013-05-28  9:57   ` Gerd Hoffmann
@ 2013-05-31 12:36   ` Eric Blake
  2013-05-31 12:45     ` Peter Krempa
  1 sibling, 1 reply; 11+ messages in thread
From: Eric Blake @ 2013-05-31 12:36 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Anthony Liguori, Peter Krempa, qemu-devel, stefano.stabellini

[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]

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 <kraxel@redhat.com>
> ---
>  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...

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-28  6:34 ` [Qemu-devel] [PATCH 2/2] " Gerd Hoffmann
@ 2013-05-28  9:57   ` Gerd Hoffmann
  2013-05-31 12:36   ` Eric Blake
  1 sibling, 0 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-28  9:57 UTC (permalink / raw)
  To: Gerd Hoffmann
  Cc: Anthony Liguori, qemu-stable, qemu-devel, stefano.stabellini

On 05/28/13 08:34, 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 <kraxel@redhat.com>
> ---
>  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 {
> 

this one is a stable candidate, cc'ing qemu-stable

cheers,
  Gerd

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output
  2013-05-28  6:34 Gerd Hoffmann
@ 2013-05-28  6:34 ` Gerd Hoffmann
  2013-05-28  9:57   ` Gerd Hoffmann
  2013-05-31 12:36   ` Eric Blake
  0 siblings, 2 replies; 11+ messages in thread
From: Gerd Hoffmann @ 2013-05-28  6:34 UTC (permalink / raw)
  To: qemu-devel; +Cc: Anthony Liguori, Gerd Hoffmann, stefano.stabellini

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 <kraxel@redhat.com>
---
 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 {
-- 
1.7.9.7

^ permalink raw reply related	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2013-06-17 21:18 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-28 10:27 [Qemu-devel] [PULL 0/2] chardev: fix "info chardev" output Gerd Hoffmann
2013-05-28 10:27 ` [Qemu-devel] [PATCH 1/2] Revert "chardev: Get filename for new qapi backend" Gerd Hoffmann
2013-05-28 10:27 ` [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output Gerd Hoffmann
2013-05-28 10:31 ` [Qemu-devel] [SeaBIOS] [PULL 0/2] " Gerd Hoffmann
2013-06-17 21:18 ` [Qemu-devel] " Anthony Liguori
  -- strict thread matches above, loose matches on Subject: below --
2013-05-28  6:34 Gerd Hoffmann
2013-05-28  6:34 ` [Qemu-devel] [PATCH 2/2] " Gerd Hoffmann
2013-05-28  9:57   ` Gerd Hoffmann
2013-05-31 12:36   ` Eric Blake
2013-05-31 12:45     ` Peter Krempa
2013-05-31 13:21       ` Gerd Hoffmann
2013-05-31 13:30         ` Peter Krempa

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).