[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-users] Xen 4.2.2 /etc/init.d/xendomains save and restore of domains does not work
Hello,in the last days I switched from Xen 4.2.1 to Xen 4.2.2 (source from git repository tag 4.2.2) commit a125ec6a4a2f028f97f0bdd8946d347a36dbe76b Author: Jan Beulich <jbeulich@xxxxxxxx> Date: Tue Apr 23 18:42:55 2013 +0200 update Xen version to 4.2.2 My "base system" is a debian squeeze. For Xen I use the xl toolstack.Since updating to 4.2.2 the autosave and autorestore of domains dos not work any more. The reason is that there are some bugs in /etc/init.d/xendomainsAt the end of the mail there is a diff of my corrections. The correction are only tested on my system under xl toolstack 1) @@ -182,7 +182,7 @@ The rdname does not report any domain name2) @@ -254,8 +254,8 @@ The header of a saved domain does not contain "LinuxGuestRecord" instead it contains "Xen saved domain". 3) @@ -365,11 +365,11 @@ The escape character `\´ in front of `$´ in `case \"\$name\"´ in suspress Variable expansion I think The leading `(´ in ($NAMES) is wrong in sh/bash is wrong because than the content of `$name´ will be compared to `(whateverinnames´ and that could not match. I think the same bug is in `(*)´ 4) @@ -430,6 +430,7 @@+5) @@ -446,6 +447,7 @@ The variables `name´ and `id´ must be cleared. If not you get on the next loop name and id mixed from different domains. I hope that helps. Best wishes Andreas ------BEGIN Attachment ------------------------------------------------- > diff -u .xendomains.original xendomains --- .xendomains.original 2013-06-25 07:42:29.000000000 +0200 +++ xendomains 2013-06-30 10:48:06.000000000 +0200 @@ -182,7 +182,7 @@ rdname() { NM=$($CMD create --quiet --dryrun --defconfig "$1" | - sed -n 's/^.*(name \(.*\))$/\1/p') + sed -n 's/^.*"name": "\(.*\)",$/\1/p') } rdnames() @@ -254,8 +254,8 @@ saved_domains=`ls $XENDOMAINS_SAVE` for dom in $XENDOMAINS_SAVE/*; do if [ -f $dom ] ; then - HEADER=`head -c 16 $dom | head -n 1 2> /dev/null` - if [ $HEADER = "LinuxGuestRecord" ]; then+ HEADER=`{ head -c 16 $dom; echo ""; } | head -n 1 2> /dev/null` + if [ "$HEADER" = "LinuxGuestRecord" -o "$HEADER" = "Xen saved domain" ]; then echo -n " ${dom##*/}" XMR=`$CMD restore $dom 2>&1 1>/dev/null` #$CMD restore $dom @@ -365,11 +365,11 @@ echo -n " $name" if test "$XENDOMAINS_AUTO_ONLY" = "true"; then eval " - case \"\$name\" in - ($NAMES) + case \"$name\" in + $NAMES) # nothing ;; - (*) + *) echo -e '(skip)' continue ;; @@ -430,6 +430,7 @@ kill $WDOG_PID >/dev/null 2>&1 echo -e . usleep 1000 + name=;id= continue fi fi @@ -446,6 +447,7 @@ fi kill $WDOG_PID >/dev/null 2>&1 fi + name=;id= done < <($CMD list -l | grep $LIST_GREP) # NB. this shuts down ALL Xen domains (politely), not just the ones in ------END Attachment --------------------------------------------- _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxx http://lists.xen.org/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |