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

Re: [Xen-devel] vnc=1 / pvgrub / close fb: backend at /local/domain/0/backend/vfb/xx/0



On Wed, 22 Oct 2014, Ian Campbell wrote:
> On Wed, 2014-10-22 at 11:59 +0200, Samuel Thibault wrote:
> > Ian Campbell, le Wed 22 Oct 2014 10:00:36 +0100, a Ãcrit :
> > > On Wed, 2014-10-22 at 08:24 +1100, Steven Haigh wrote:
> > > > As a side note to this - if I use pygrub as a bootloader vs using
> > > > pvgrub, then VNC works perfectly.
> > > > 
> > > > So, what options exist to make pvgrub behave properly for booting with
> > > > VNC enabled?
> > > 
> > > ISTR (vaguely) that way back when the backends needed to be modified to
> > > cope with kexec (which is effectively what pvgrub does) by not exiting
> > > when the frontend disconnects, instead sticking around waiting for a new
> > > frontend, this relates somehow to the "online" key in xenstore.
> > > 
> > > Perhaps the pvfb backend never got that treatment, which would explain
> > > #2? 
> > 
> > Probably, yes.
> 
> Adding Stefano and Anthony, since the backend in this case is in qemu.
> 
> When the frontend disconnects and the online node == 1 then the backend
> is supposed to go from Closed back to InitWait and wait for a new
> connection, as opposed to shutting down. This is needed for kexec (which
> pvgrub uses).
> 
> I can see some handling of the online node in hw/xen/xen_backend.c but
> it doesn't look like it would do what is needed here. I also don't see
> any handling in either hw/block/xen_disk.c or hw/display/xenfb.c. Which
> makes me suspect that as well as pvfb not working with kexec/pvgrub
> neither does the qdisk backend, which would be unfortunate.

Looking at the code in xen_backend.c, it seems that on XenbusStateClosed
xen_backend is going to try to reset to XenbusStateInitialising, unless
the frontend state is XenbusStateInitialising (no idea why).  See:
xen_be_try_reset and xen_be_check_state.

Maybe it should go to XenbusStateInitWait instead?
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

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