From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34586) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UiOgQ-0008EU-5k for qemu-devel@nongnu.org; Fri, 31 May 2013 08:43:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UiOgN-0003Tv-Ey for qemu-devel@nongnu.org; Fri, 31 May 2013 08:43:50 -0400 Received: from mx1.redhat.com ([209.132.183.28]:11284) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UiOgN-0003Tj-7k for qemu-devel@nongnu.org; Fri, 31 May 2013 08:43:47 -0400 Message-ID: <51A89B69.5000307@redhat.com> Date: Fri, 31 May 2013 14:45:29 +0200 From: Peter Krempa MIME-Version: 1.0 References: <1369722844-24345-1-git-send-email-kraxel@redhat.com> <1369722844-24345-3-git-send-email-kraxel@redhat.com> <51A89949.6040002@redhat.com> In-Reply-To: <51A89949.6040002@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 2/2] chardev: fix "info chardev" output List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Eric Blake Cc: Anthony Liguori , stefano.stabellini@eu.citrix.com, Gerd Hoffmann , qemu-devel@nongnu.org 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 >> --- >> 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