| 
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. 
 
  
 
libxenstore_domain.patch 
Description: Text Data 
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 
 |