From: Ian Campbell Date: Thu, 16 Dec 2010 17:58:00 +0000 (+0000) Subject: tools/hotplug: Do not recursively invoke xenstore_write on error X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=e40c1e449e1aa3e1ab8779b83371198e6e2275c2;p=xen.git tools/hotplug: Do not recursively invoke xenstore_write on error This fixes a possible infinite recursion. From: Ian Campbell Signed-off-by: Ian Jackson --- diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh b/tools/hotplug/Linux/xen-hotplug-common.sh index d63b7660c6..370f9ade2f 100644 --- a/tools/hotplug/Linux/xen-hotplug-common.sh +++ b/tools/hotplug/Linux/xen-hotplug-common.sh @@ -29,8 +29,8 @@ export LANG="POSIX" unset $(set | grep ^LC_ | cut -d= -f1) fatal() { - xenstore_write "$XENBUS_PATH/hotplug-error" "$*" \ - "$XENBUS_PATH/hotplug-status" error + _xenstore_write "$XENBUS_PATH/hotplug-error" "$*" \ + "$XENBUS_PATH/hotplug-status" error log err "$@" exit 1 } @@ -79,6 +79,16 @@ xenstore_read_default() { } +## +# _xenstore_write ( )+ +# +# Write each of the key/value pairs to the store. +# +_xenstore_write() { + log debug "Writing $@ to xenstore." + xenstore-write "$@" +} + ## # xenstore_write ( )+ # @@ -86,9 +96,7 @@ xenstore_read_default() { # such writing fails. # xenstore_write() { - log debug "Writing $@ to xenstore." - xenstore-write "$@" || fatal "Writing $@ to xenstore failed." + _xenstore_write "$@" || fatal "Writing $@ to xenstore failed." } - log debug "$@" "XENBUS_PATH=$XENBUS_PATH"