[Pkg-xen-changes] r1002 - trunk/xen/debian
Bastian Blank
waldi at alioth.debian.org
Sun Apr 22 22:47:52 UTC 2012
Author: waldi
Date: Sun Apr 22 22:47:49 2012
New Revision: 1002
Log:
debian/xen-utils-common.xendomains.init: Always shut down each domain.
Modified:
trunk/xen/debian/xen-utils-common.xendomains.init
Modified: trunk/xen/debian/xen-utils-common.xendomains.init
==============================================================================
--- trunk/xen/debian/xen-utils-common.xendomains.init Sun Apr 22 22:47:00 2012 (r1001)
+++ trunk/xen/debian/xen-utils-common.xendomains.init Sun Apr 22 22:47:49 2012 (r1002)
@@ -57,7 +57,7 @@
return $?
}
-coproc_timeout()
+timeout_coproc()
{
TIMEOUT="$1"
for no in $(seq 0 $TIMEOUT); do
@@ -70,6 +70,18 @@
return 1
}
+timeout_domain()
+{
+ name="$1"
+ TIMEOUT="$2"
+ for no in $(seq 0 $TIMEOUT); do
+ if ! check_running "$name"; then return 0; fi
+ sleep 1
+ log_action_cont_msg
+ done
+ return 1
+}
+
do_start_restore()
{
for file in $XENDOMAINS_SAVE/*; do
@@ -136,7 +148,7 @@
while read id name rest; do
log_action_begin_msg "Migrating Xen domain $name ($id)"
coproc xen migrate $id $XENDOMAINS_MIGRATE 2>&1 1>/dev/null
- coproc_timeout "$XENDOMAINS_STOP_MAXWAIT"
+ timeout_coproc "$XENDOMAINS_STOP_MAXWAIT"
log_action_end_msg $?
done < <(/usr/lib/xen-common/bin/xen-init-list)
}
@@ -147,24 +159,26 @@
log_action_begin_msg "Saving Xen domain $name ($id)"
mkdir -p "$XENDOMAINS_SAVE"
coproc xen save $id $XENDOMAINS_SAVE/$name 2>&1 1>/dev/null
- coproc_timeout "$XENDOMAINS_STOP_MAXWAIT"
+ timeout_coproc "$XENDOMAINS_STOP_MAXWAIT"
log_action_end_msg $?
done < <(/usr/lib/xen-common/bin/xen-init-list)
}
-do_stop_shutdown_all()
+do_stop_shutdown()
{
- log_action_begin_msg "Shutting down all Xen domains"
- coproc xen shutdown --all $XENDOMAINS_SHUTDOWN_ALL 2>&1 1>/dev/null
- coproc_timeout "$XENDOMAINS_STOP_MAXWAIT"
- log_action_end_msg $?
+ while read id name rest; do
+ log_action_begin_msg "Shutting down Xen domain $name ($id)"
+ xen shutdown $id 2>&1 1>/dev/null
+ timeout_domain "$name" "$XENDOMAINS_STOP_MAXWAIT"
+ log_action_end_msg $?
+ done < <(/usr/lib/xen-common/bin/xen-init-list)
}
do_stop()
{
if test -n "$XENDOMAINS_MIGRATE"; then do_stop_migrate; fi
if test -n "$XENDOMAINS_SAVE"; then do_stop_save; fi
- do_stop_shutdown_all
+ do_stop_shutdown
}
check_domain_up()
More information about the Pkg-xen-changes
mailing list