11-RELEASE acting as vbd backend

Roger Pau Monné roger.pau at citrix.com
Thu Dec 15 17:34:42 UTC 2016


On Mon, Dec 12, 2016 at 10:32:57AM +0000, Roger Pau Monné wrote:
> On Fri, Dec 09, 2016 at 09:32:17AM -0700, Nathan Friess wrote:
> > On 16-12-09 07:46 AM, Roger Pau Monné wrote:
> > > Hello,
> > > 
> > > Sorry for the delay, there was a huge can of worms behind this. I have a
> > > solution, but it requires patching both Xen and the FreeBSD kernel. Please bear
> > > with me, I will send those patches once ready.
> > 
> > It sounds like you might know this already, but I did some more digging and
> > here is what I can see so far...
> > 
> > The important command is "xl devd".  Running that under truss, it is trying
> > to open /dev/xen/xenbus and that was the cause of the No such file error.
> > It looks like the 10.3 tools used to open /dev/xen/xenstore instead.
> > 
> > I can get around this by exporting XENSTORED_PATH="/dev/xen/xenstore".
> > 
> > Now xl devd is stuck at:
> > 
> > libxl: error: libxl_event.c:639:libxl__ev_xswatch_register: create watch for
> > path /local/domain/7/backend: Invalid argument
> > 
> > So it seems like an API issue with asking the kernel or dom0 to set a watch
> > for new backend devices.
> 
> Yes, the current xenstore user-space device on FreeBSD is missing the ability to 
> register xenstore watches. As said, I will hopefully be able to send the patches 
> soon.

OK, I finally have this ready, you will need the following patches for FreeBSD,
which I pushed to my git repo on top of current HEAD:

git://xenbits.xen.org/people/royger/freebsd.git add_watches_xenstore

You can either compile a kernel from this branch or pickup the 4 top patches
and apply them to your local tree (I don't think you are going to find any
conflicts even if the tree is stable/11 or 11.0-RELEASE).

You should also update your xen-tools package to the latest version, I've just
updated it to contain the xenstore device path fix:

https://svnweb.freebsd.org/ports?view=revision&revision=428628

After this is done, it should just be a matter of launching xendriverdomain at
system boot and it should work out of the box. Let me know how this goes.

Thanks, Roger.


More information about the freebsd-xen mailing list