aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-07-03 10:12:22 +0100
committerkfraser@localhost.localdomain <kfraser@localhost.localdomain>2007-07-03 10:12:22 +0100
commit9848d66b4e0b87dd8d5a5e60f696e709706227e2 (patch)
tree14482b785c95a5fa242a53ac5211b028f4000a85 /tools
parentef5a7ad739fb290ca94009f3eb6ee9abe09ad712 (diff)
downloadxen-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/xendomains29
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 $?