From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anthony Liguori Subject: Re: Re: blktap race against xenstore startup Date: Thu, 28 Sep 2006 20:15:46 -0500 Message-ID: <451C73C2.9010407@us.ibm.com> References: <1159481874.8884.30.camel@sisko.scot.redhat.com> <451C508D.1070103@us.ibm.com> <1159485838.8884.38.camel@sisko.scot.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1159485838.8884.38.camel@sisko.scot.redhat.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Stephen C. Tweedie" Cc: Andrew Warfield , "xen-devel@lists.xensource.com" , Steven Rostedt , Julian Chesterfield List-Id: xen-devel@lists.xenproject.org Stephen C. Tweedie wrote: > Hi, > > On Thu, 2006-09-28 at 17:45 -0500, Anthony Liguori wrote: > > >>> Ugh. There has got to be a better way to synchronise with the initial >>> population of the dom0 information into xenstore, surely? Has no other >>> component of the Xen stack ever seen this before? >>> >> I don't know how blktap is launched right now, but the same problem has >> occurred in the past for other daemons (like xenconsoled). >> >> xenstored won't close standard output until it's ready to receive >> connections. xend start will wait to start the other daemons until >> xenstored is ready. How does blktap get spawned? >> > > It (the blktapctrl userland daemon) gets execve'd by xend: > > elif sys.argv[1] == 'start': > start_xenstored() > start_consoled() > start_blktapctrl() > return daemon.start() > > The problem is not that xenstored is dead: it's alive and running, it > just hasn't had the /local/domain tree filled in, so it returns ENOENT. > xenstored *is* ready, but that's not enough. > Ah, I see. So it sounds like blktapctrl ought to be setting a watch for /local/domain. Regards, Anthony Liguori > --Stephen > > >