qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH 10/15] virtio-serial: Add QMP events for fai


From: Jamie Lokier
Subject: Re: [Qemu-devel] Re: [PATCH 10/15] virtio-serial: Add QMP events for failed port/device add
Date: Fri, 26 Mar 2010 01:17:49 +0000
User-agent: Mutt/1.5.13 (2006-08-11)

Luiz Capitulino wrote:
> On Thu, 25 Mar 2010 09:17:17 +0530
> Amit Shah <address@hidden> wrote:
> 
> > On (Wed) Mar 24 2010 [17:34:15], Luiz Capitulino wrote:
> > > On Wed, 24 Mar 2010 20:19:28 +0530
> > > Amit Shah <address@hidden> wrote:
> > > 
> > > > When adding a port or a device to the guest fails, management software
> > > > might be interested in knowing and then cleaning up the host-side of the
> > > > port. Introduce QMP events to signal such errors.
> > > 
> > >  I'm completely unfamiliar with virtio-serial, so let me ask: how are 
> > > ports
> > > added? I'd expect the command performing this operation to fail in this 
> > > case.
> > 
> > If adding the port fails in qemu, then the command will fail. However if
> > adding the port in the guest fails, we raise this QMP event. Adding in
> > the guest could fail because of several reasons, like ENOMEM. In this
> > case, the mgmt might want to hot-unplug the port from qemu so that
> > resources are freed and also apps are notified of guest side not ready.
> 
>  Ok, what about a disconnect? Does virtio-serial have this kind of action?

Disconnect would be valuable.  E.g. if the guest app dies (but not the
guest kernel), it won't get a chance to send an "I'm going away"
message.

Machine reboot, PCI reset and so on, should probably trigger a
disconnect event too (perhaps annotated with the reason), so that the
host app's byte stream parser can reliably start parsing anew.
Somehow that reset event needs to be synchronised with data transport,
so the host app works when the guest boots, reconnects and sends more
data before the host app has had enough time to process the earlier
reset event.

Connect event is a nice idea for symmetry, so the host knows when the
guest app has started up, but it's not essential as the guest app can
just send a message.

-- Jamie





reply via email to

[Prev in Thread] Current Thread [Next in Thread]