From 543a2657182dbb9237d1feeb1d3193096ab2cb2d Mon Sep 17 00:00:00 2001 From: Ian Murray Date: Sat, 22 Jun 2013 13:38:11 +0100 Subject: Xendomains was not correctly suspending domains when a STOP was issued. The regex was not selecting the { when parsing JSON output of xl list -l. It was also not selecting (domain when parsing xl list -l when SXP selected. Pefixed { with 4 spaces, and removed an extra ( before domain in the regex string Added quotes around the grep strings so the spaces inserted into the string didn't not break the grepping. This has now been tested against 4.3RC5 Signed-off-by: Ian Murray Acked-by: Ian Campbell Acked-by: George Dunlap --- tools/hotplug/Linux/init.d/xendomains | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'tools/hotplug') diff --git a/tools/hotplug/Linux/init.d/xendomains b/tools/hotplug/Linux/init.d/xendomains index 730541ec2e..38371af6a4 100644 --- a/tools/hotplug/Linux/init.d/xendomains +++ b/tools/hotplug/Linux/init.d/xendomains @@ -206,7 +206,7 @@ rdnames() done } -LIST_GREP='((domain\|(domid\|(name\|^{$\|"name":\|"domid":' +LIST_GREP='(domain\|(domid\|(name\|^ {$\|"name":\|"domid":' parseln() { if [[ "$1" =~ '(domain' ]] || [[ "$1" = "{" ]]; then @@ -237,7 +237,7 @@ is_running() RC=0 ;; esac - done < <($CMD list -l | grep $LIST_GREP) + done < <($CMD list -l | grep "$LIST_GREP") return $RC } @@ -319,7 +319,7 @@ all_zombies() if test "$state" != "-b---d" -a "$state" != "-----d"; then return 1; fi - done < <($CMD list -l | grep $LIST_GREP) + done < <($CMD list -l | grep "$LIST_GREP") return 0 } @@ -450,7 +450,7 @@ stop() fi kill $WDOG_PID >/dev/null 2>&1 fi - done < <($CMD list -l | grep $LIST_GREP) + done < <($CMD list -l | grep "$LIST_GREP") # NB. this shuts down ALL Xen domains (politely), not just the ones in # AUTODIR/* @@ -487,7 +487,7 @@ check_domain_up() return 0 ;; esac - done < <($CMD list -l | grep $LIST_GREP) + done < <($CMD list -l | grep "$LIST_GREP") return 1 } -- cgit v1.2.3