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

Re: [Xen-devel] [RFC 4/4] HACK libxl_exec: Check QEMU status via QMP instead of xenstore



On Tue, Mar 27, 2018 at 03:48:29PM +0100, Ian Jackson wrote:
> Anthony PERARD writes ("Re: [Xen-devel] [RFC 4/4] HACK libxl_exec: Check QEMU 
> status via QMP instead of xenstore"):
> > On Tue, Mar 27, 2018 at 02:43:22PM +0100, Ian Jackson wrote:
> > > Right, but doesn't one still have to poll on connect() ?
> > 
> > Yes, we need to poll on connect().
> > 
> > libvirt those it also to open the socket:
> > https://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_monitor.c;h=e169553b7e1781da307ddb0be23fed5540baf36c;hb=HEAD#l375
> 
> Urgh.  Maybe we could fix this in qemu, or do some kind of hack.
> 
> For example, maybe we could instruct qemu to open some file or other,
> which is actually a pipe.  If it would happen late enought (after the
> qmp socket is set up).

I think that can be done.

If we add something like:
'-chardev','pipe,id=inotify,path=/tmp/pipe',
'-mon','chardev=inotify,mode=control',

And we just needs to wait until qemu write the QMP greating into the
pipe. At this point, the socket we cared for exist.

That /tmp/pipe can actually be a fd, I did not test it, only read the
code:
'-add-fd','fd=fd,set=1',
'-chardev','pipe,id=inotify,path=/dev/fdset/1',

I just need to write some code in libxl now.

-- 
Anthony PERARD

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.