[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC v2 8/9] HACK libxl_exec: Check QEMU status via QMP instead of xenstore
On Fri, Apr 20, 2018 at 07:37:17PM +0100, Ian Jackson wrote: > Anthony PERARD writes ("[RFC v2 8/9] HACK libxl_exec: Check QEMU status via > QMP instead of xenstore"): > > When QEMU is restricted, the qemu on the receiving side cann't write > > anything to xenstore once the migration is started. So it cann't tell > > libxl that it is ready to continue running the guest. > ... > > This patch creates a pipe, give the write-end to qemu, and wait for > > something to be written to it. (We could check if it is actually the QMP > > greeting message.) > > This is indeed the kind of thing I had in mind in our IRL > conversation. Good, where are heading in the right direction. > > QEMU is asked to setup a QMP server on this pipe, but even if it is a > > one-way only, qemu will write the QMP greeting message to the pipe. > > This is done with: > > -add-fd, to create a fdset which is use later. > > -chardev 'file,path=/dev/fdset/1,append=true', this open a char device > > on the write-end of the pipe, tell qemu that the FD is write-only, and > > not to run truncate on it. > > -mon, just start the QMP server on this new chardev. > > Have you considered socketpair() ? That avoids the oddnes of passing > qemu a write-only fd. I did considered to pass an open socket to QEMU, I didn't know that socketpair() existed. But I don't think that would help with the current version of QEMU (2.11 and older). There are only two ways to give a file descriptor to qemu, these are: -chardev pipe,.. -chardev file,... And in both case, QEMU is only going to write to the fd anyway. But, with the to be release QEMU 2.12, there is a new interface that allow to pre-open a socket: -chardev socket,fd=? See https://git.qemu.org/?p=qemu.git;a=commit;h=0935700f8544033ebbd41e1f13cd528f8a58d24d With that, we could open our usual "/var/run/xen/qmp-libxl-$domid" socket for QEMU. That would work when the retricted fonctionnality is also available. But that cann't be use unconditionnaly. -- Anthony PERARD _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |