From: "Michael S. Tsirkin" <mst@redhat.com>
To: Corey Minyard <cminyard@mvista.com>
Cc: "Bret Ketchum" <bcketchum@gmail.com>,
"Andreas Färber" <afaerber@suse.de>,
"Gerd Hoffmann" <kraxel@redhat.com>,
"Corey Minyard" <minyard@acm.org>,
qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 02/16] qemu-char: Allow a chardev to reconnect if disconnected
Date: Thu, 14 Nov 2013 15:56:58 +0200 [thread overview]
Message-ID: <20131114135658.GC5658@redhat.com> (raw)
In-Reply-To: <5283E65B.9020908@mvista.com>
On Wed, Nov 13, 2013 at 02:51:39PM -0600, Corey Minyard wrote:
> On 11/13/2013 02:55 AM, Gerd Hoffmann wrote:
> > Hi,
> >
> >> Allow a socket that connects to reconnect on a periodic basis if it
> >> fails to connect at startup or if the connection drops while in use.
> >> + chr->backend = i;
> >> + chr->recon_time = qemu_opt_get_number(opts, "reconnect", 0);
> >> + if (chr->recon_time) {
> >> + if (strcmp(qemu_opt_get(opts, "backend"), "socket") != 0) {
> >> + g_free(chr);
> >> + fprintf(stderr, "chardev: reconnect only supported on sockets\n");
> >> + return NULL;
> >> + }
> > I think it would work *much* better to just add a "chr_reconnect"
> > function pointer to CharDriverState. You don't need patch #1 then.
> > Also it avoids backend-specific bits in generic code. Generic code just
> > checks if chr->chr_reconnect exists to figure whenever reconnect is
> > supported or not. And the socket backend can set chr_reconnect for
> > client sockets only.
>
> I was trying for something more generic than one that just applies to
> socket devices. It may not be good for server sockets, but it might be
> useful for ptys and hotplug devices. Looking at the code, ptys already
> has its own code that does something similar; that could be pulled out
> and replaced with the generic code.
>
> Also, IMHO allocating the chardev in each back end is not optimal. It
> breaks layering. Plus patch #1 has a net reduction in lines of code
> because it pulls out all the allocations and does it in one place.
>
> Thanks,
>
> -corey
I guess this was just one suggestion.
What Gerd is asking for here is that we avoid
code like
strcmp(qemu_opt_get(opts, "backend"), "socket")
in generic code, instead making a backend report
reconnect support.
This sounds reasonable, does it not?
next prev parent reply other threads:[~2013-11-14 13:54 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-11-12 16:32 [Qemu-devel] [PATCH 00/16] Add an IPMI device to QEMU Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 01/16] qemu-char: Allocate CharDriverState in qemu_chr_new_from_opts Corey Minyard
2014-01-23 13:32 ` Andreas Färber
2014-01-23 13:58 ` Andreas Färber
2013-11-12 16:33 ` [Qemu-devel] [PATCH 02/16] qemu-char: Allow a chardev to reconnect if disconnected Corey Minyard
2013-11-12 16:43 ` Eric Blake
2013-11-12 17:08 ` Corey Minyard
2013-11-14 7:32 ` Michael S. Tsirkin
2013-11-14 13:29 ` Corey Minyard
2013-11-13 8:55 ` Gerd Hoffmann
2013-11-13 20:51 ` Corey Minyard
2013-11-14 13:56 ` Michael S. Tsirkin [this message]
2013-11-12 16:33 ` [Qemu-devel] [PATCH 03/16] qemu-char: remove free of chr from win_stdio_close Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 04/16] qemu-char: Close fd at end of file Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 05/16] Add a base IPMI interface Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 06/16] ipmi: Add a PC ISA type structure Corey Minyard
2014-01-29 14:58 ` Andreas Färber
2013-11-12 16:33 ` [Qemu-devel] [PATCH 07/16] ipmi: Add a KCS low-level interface Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 08/16] ipmi: Add a BT " Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 09/16] ipmi: Add a local BMC simulation Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 10/16] ipmi: Add an external connection simulation interface Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 11/16] ipmi: Add tests Corey Minyard
2013-11-13 14:12 ` Bret Ketchum
2013-11-13 20:51 ` Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 12/16] ipmi: Add documentation Corey Minyard
2013-11-13 16:08 ` Bret Ketchum
2013-11-12 16:33 ` [Qemu-devel] [PATCH 13/16] ipmi: Add migration capability to the IPMI device Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 14/16] pc: Postpone adding ACPI and SMBIOS to fw_cfg Corey Minyard
2013-11-13 14:31 ` Bret Ketchum
2013-11-14 7:30 ` Michael S. Tsirkin
2013-11-14 13:28 ` Corey Minyard
2013-11-14 13:38 ` Michael S. Tsirkin
2013-11-14 13:40 ` Corey Minyard
2013-11-14 13:50 ` Michael S. Tsirkin
2013-11-26 10:03 ` Michael S. Tsirkin
2013-11-12 16:33 ` [Qemu-devel] [PATCH 15/16] smbios: Add a function to directly add an entry Corey Minyard
2013-11-13 14:37 ` Bret Ketchum
2013-11-13 16:22 ` Andreas Färber
2013-11-13 20:52 ` Corey Minyard
2013-11-12 16:33 ` [Qemu-devel] [PATCH 16/16] ipmi: Add SMBIOS table entry Corey Minyard
2013-11-14 7:46 ` Michael S. Tsirkin
2013-11-14 13:43 ` Corey Minyard
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=20131114135658.GC5658@redhat.com \
--to=mst@redhat.com \
--cc=afaerber@suse.de \
--cc=bcketchum@gmail.com \
--cc=cminyard@mvista.com \
--cc=kraxel@redhat.com \
--cc=minyard@acm.org \
--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.