diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-07-03 10:12:22 +0100 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2007-07-03 10:12:22 +0100 |
commit | 9848d66b4e0b87dd8d5a5e60f696e709706227e2 (patch) | |
tree | 14482b785c95a5fa242a53ac5211b028f4000a85 /tools | |
parent | ef5a7ad739fb290ca94009f3eb6ee9abe09ad712 (diff) | |
download | xen-9848d66b4e0b87dd8d5a5e60f696e709706227e2.tar.gz xen-9848d66b4e0b87dd8d5a5e60f696e709706227e2.tar.bz2 xen-9848d66b4e0b87dd8d5a5e60f696e709706227e2.zip |
xendomains: Better sanity checking of potetntial save records.
Signed-off-by: Gawain Lynch <gawain.lynch@gmail.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/examples/init.d/xendomains | 29 |
1 files changed, 16 insertions, 13 deletions
diff --git a/tools/examples/init.d/xendomains b/tools/examples/init.d/xendomains index 0fffd42c80..987f994a4f 100644 --- a/tools/examples/init.d/xendomains +++ b/tools/examples/init.d/xendomains @@ -221,22 +221,26 @@ start() if [ "$XENDOMAINS_RESTORE" = "true" ] && contains_something "$XENDOMAINS_SAVE" then - XENDOMAINS_SAVED=`/bin/ls $XENDOMAINS_SAVE/* | grep -v 'lost+found'` mkdir -p $(dirname "$LOCKFILE") touch $LOCKFILE echo -n "Restoring Xen domains:" saved_domains=`ls $XENDOMAINS_SAVE` - for dom in $XENDOMAINS_SAVED; do - echo -n " ${dom##*/}" - xm restore $dom - if [ $? -ne 0 ]; then - rc_failed $? - echo -n '!' - else - # mv $dom ${dom%/*}/.${dom##*/} - rm $dom - fi - done + 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 + echo -n " ${dom##*/}" + xm restore $dom + if [ $? -ne 0 ]; then + rc_failed $? + echo -n '!' + else + # mv $dom ${dom%/*}/.${dom##*/} + rm $dom + fi + fi + fi + done echo . fi @@ -260,7 +264,6 @@ start() if [ $? -eq 0 ] || is_running $dom; then echo -n "(skip)" else - echo "(booting)" xm create --quiet --defconfig $dom if [ $? -ne 0 ]; then rc_failed $? |