[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 12 of 14 v4] libxl: set frontend status to 6 on domain destroy
On Wed, 2011-12-14 at 11:12 +0000, Roger Pau Monnà wrote: > 2011/12/14 Ian Campbell <Ian.Campbell@xxxxxxxxxx>: > > So if you rm the backend directory the NetBSD does not take that as a > > sign to tear down the device? That sounds like a bug in the NetBSD > > backend -- it should treat deletion of the backend state dir as if it > > were reading state = "6" and shut everything down. > > Yes, if I delete the frontend from xenstore, the devices are detached. > Anyway, doing it one way or another (deletion or setting state to 6) > doesn't really make a difference, you still have to wait for the > backend to be disconnected (detached) before executing hotplug > scripts. Right. This might actually be tricky in the case where the backend dir has been removed since I expect there will be nowhere else which indicates this. > > Or is the issue only in the userspace portions? > > > >> I've added some libxl__wait_for_device_state logic here, to > >> assure the backend state is set to 6 before trying to execute hotplug > >> scripts. > > > > But that will always be true with this patch since you set it that way > > just before, right? > > I set frontend status to 6, and I suggest to wait for backend status > to be 6 also, then execute hotplug scripts. It won't be true, because > frontend and backend status are not tied (in the NetBSD case backend > status is set by the Dom0 kernel or hotplug scripts, while frontend > status is set by the DomU). I think (but I'm not sure) that it is not permissible for the toolstack to mess with the frontend state like that. > > If you go down this path then I think you need to set the state to > > "5" (Closing) in order to prompt the backend to transition to > > "6" (Closed) itself. However you need to be careful about adding a > > synchronous wait to the device destroy function. This should eventually > > work even if the frontend and backend are not co-operating. That starts > > to look a bit like calling libxl__device_remove instead. > > Do you mean to set backend status to 5 instead of setting frontend to > 6, and then wait for the kernel to do the transition from 5 to 6, > instead of setting the frontend to 6? Yes. Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |