[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] domain id number on xen unstable
On Sun, Mar 8, 2009 at 3:44 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx> wrote: > On 08/03/2009 14:32, "Andrew Lyon" <andrew.lyon@xxxxxxxxx> wrote: > >> I've also noticed that if i shutdown the domain cleanly (ie from >> inside windows) then I can start it again without any problems, but if >> i have to use xm destroy then when I next try to start the domain the >> xm process hangs, if I ctrl+c the xm process the domain is listed and >> paused, I can unpause it and it seems to work ok. >> >> xenstore-ls shows that some of the domain devices etc are not removed, >> should they be when it is destroyed? > > What changeset of xen-unstable are you running and when did you start seeing > this? I have my suspicions about changeset 19250, which was checked in on > Monday -- you could try reverting it (hg revert 19250), re-install dom0 > tools, and see if that helps. > > -- Keir Keir, I tried that but it didn't help, however I noticed that there were several xen-hotplug-cleanup scripts running, and that script has changed between 3.3.1 and unstable, on my 3.3.1 system I can run the script and it exits very quickly, but on my unstable system the script can only be run once, after that it hangs trying to get the lock, I added a couple of echo's to the script as you can see below, only the first one is executed, the second is not and as the rest of the script is not run the lock is never released. So the offending line is vm=$(xenstore-read "/local/domain/${path_array[2]}/vm") Andy #! /bin/bash dir=$(dirname "$0") . "$dir/xen-hotplug-common.sh" # Claim the lock protecting /etc/xen/scripts/block. This stops a race whereby # paths in the store would disappear underneath that script as it attempted to # read from the store checking for device sharing. # Any other scripts that do similar things will have to have their lock # claimed too. # This is pretty horrible, but there's not really a nicer way of solving this. claim_lock "block" # split backend/DEVCLASS/VMID/DEVID on slashes path_array=( ${XENBUS_PATH//\// } ) # get /vm/UUID path echo "echo test 1" vm=$(xenstore-read "/local/domain/${path_array[2]}/vm") echo "echo test 2" # construct /vm/UUID/device/DEVCLASS/DEVID vm_dev="$vm/device/${path_array[1]}/${path_array[3]}" # remove device frontend store entries xenstore-rm -t \ $(xenstore-read "$XENBUS_PATH/frontend" 2>/dev/null) 2>/dev/null || true # remove device backend store entries xenstore-rm -t "$XENBUS_PATH" 2>/dev/null || true xenstore-rm -t "error/$XENBUS_PATH" 2>/dev/null || true # remove device path from /vm/UUID xenstore-rm -t "$vm_dev" 2>/dev/null || true release_lock "block" > > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |