Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 333241
Collapse All | Expand All

(-)old/xend (-4 / +39 lines)
Lines 36-45 Link Here
36
}
36
}
37
37
38
stop() {
38
stop() {
39
	if [ "$(xm list | wc -l)" -gt 2 ]; then
39
	if [ "$(xm list 2>/dev/null | wc -l)" -gt 2 ]; then
40
		ebegin "  Stopping all domains"
40
		ebegin "Stopping all Xen domains"
41
		/usr/sbin/xm shutdown --all --wait >/dev/null
41
		/usr/sbin/xm shutdown --all >/dev/null
42
		eend $?
42
43
		#Poll for shutdown
44
		WAIT=30
45
		while [ "$(xm list 2>/dev/null | wc -l)" -gt 2 -a $WAIT -gt 0 ]; do
46
			sleep 1
47
			WAIT=$((WAIT-1))
48
		done
49
50
		if [ $WAIT -gt 0 ]; then
51
			eend 0
52
		else
53
			#Kill remaining stragglers, otherwise whole machine (dom0) has to be killed
54
			eend 1
55
			eindent
56
			ewarn "Some domains refuse to shutdown, killing the stragglers"
57
			xm list -l | grep '\(name [^\)]*\)' | while read D ; do
58
				D=${D#*(name }
59
				D=${D%)*}
60
				if [ "$D" != "Domain-0" ]; then
61
					#Attempt to force linux domU's to remount readonly
62
					xm sysrq $D s
63
					xm sysrq $D u
64
				fi
65
			done
66
			sleep 10
67
			xm list -l | grep '\(name [^\)]*\)' | while read D ; do
68
				D=${D#*(name }
69
				D=${D%)*}
70
				if [ "$D" != "Domain-0" ]; then
71
					ebegin "Killing domain $D"
72
					xm destroy $D
73
					eend $?
74
				fi
75
			done
76
			eoutdent
77
		fi
43
	fi
78
	fi
44
79
45
	ebegin "Stopping Xen control daemon"
80
	ebegin "Stopping Xen control daemon"

Return to bug 333241