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

Re: [Xen-devel] [PATCH] libxl: Use xenbus to communicate with xenstore if the socket fails



I've made the changes in libxenstore as you recommended - xs_daemon|domain_open{_readonly} all alias to xs_open. 

Also, in the case of opening read-only, if it fails using sockets, it opens /proc/xen/xenbus with O_RDONLY.

~M

On Thu, Dec 9, 2010 at 3:39 AM, Ian Campbell <Ian.Campbell@xxxxxxxxxxxxx> wrote:
On Thu, 2010-12-09 at 10:53 +0000, Vincent Hanquez wrote:
> On 09/12/10 10:21, Ian Campbell wrote:
> >>   I think there was at least 1 other practical differences, but it
> >> seems to have eluded me.
>
> Thinking more about it, it might be related to timeout, and/or it might
> be: If xenstored has decided to not answer you, your thread is dead in
> the water, because you end up stuck in kernel land forever (wait not
> interruptible aka D).
>
> (It might have been related to historical reasons, however it could
> still be happening in the unlikely event of xenstored dying)

Sounds plausible.

The current driver seems to use wait_event_interruptible and attempt to
do something sane looking with O_NONBLOCK on read but on write looks
like it may end up waiting for a reply forever if xenstored has gone
away, there's even a "FIXME avoid synchronous wait for response" in the
code.

Ian.


Attachment: libxenstore_domain.patch
Description: Text Data

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

 


Rackspace

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