aboutsummaryrefslogtreecommitdiffstats
path: root/tools/hotplug
diff options
context:
space:
mode:
authorIan Jackson <Ian.Jackson@eu.citrix.com>2011-06-03 15:04:30 +0100
committerIan Jackson <Ian.Jackson@eu.citrix.com>2011-06-03 15:04:30 +0100
commit4bf3ca7bdbf89882bfa887f451843192fa275461 (patch)
treeb9839cf324ca316d5ce2b42b44e2e04f68dcd219 /tools/hotplug
parent46051f0c1cb7428de174d35246dce315493a7cb7 (diff)
downloadxen-4bf3ca7bdbf89882bfa887f451843192fa275461.tar.gz
xen-4bf3ca7bdbf89882bfa887f451843192fa275461.tar.bz2
xen-4bf3ca7bdbf89882bfa887f451843192fa275461.zip
tools/hotplug: Fix hotplug hook script arrangements not to always fail
The new feature introduced in 23401:a44b12ee2fd3 was broken; it in general always fails, at least if there are no hotplug scripts. If there are no hooks, call_hooks ends up running this: [ -x ".....*.hook" ] && . "..... *.hook" This does not directly trigger set -e and sigerr. However, it is the last command exected in call_hooks. So the return status of call_hooks is an error, and thus a sigerr happens when call_hooks returns. The bug affects xl and xm. However xl does not detect failure of the hotplug script. Change the script to use if...then rather than &&, as the latter has very confusing and undesirable semantics. Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com>
Diffstat (limited to 'tools/hotplug')
-rw-r--r--tools/hotplug/Linux/xen-hotplug-common.sh2
1 files changed, 1 insertions, 1 deletions
diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh
index 95beab0ec5..8f6557df73 100644
--- a/tools/hotplug/Linux/xen-hotplug-common.sh
+++ b/tools/hotplug/Linux/xen-hotplug-common.sh
@@ -106,7 +106,7 @@ xenstore_write() {
#
call_hooks() {
for f in /etc/xen/scripts/${1}-${2}.d/*.hook; do
- [ -x "$f" ] && . "$f"
+ if [ -x "$f" ]; then . "$f"; fi
done
}