mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
They are no longer needed, having been replaced by a daemon for driverdomains which will run scripts as necessary. Worse yet, they seem to be broken for script-based block devices, such as block-iscsi. This wouldn't matter so much if they were never run by default; but if you run block-attach without having created a domain, then the appropriate node to disable running udev scripts will not have been written yet, and the attach will silently fail. Rather than try to sort out that issue, just remove them entirely. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> Acked-by: Wei Liu <wei.liu2@citrix.com>
114 lines
2.6 KiB
Bash
114 lines
2.6 KiB
Bash
#
|
|
# Copyright (c) 2005 XenSource Ltd.
|
|
#
|
|
# This library is free software; you can redistribute it and/or
|
|
# modify it under the terms of version 2.1 of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation.
|
|
#
|
|
# This library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with this library; if not, write to the Free Software
|
|
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
#
|
|
|
|
dir=$(dirname "$0")
|
|
. "$dir/hotplugpath.sh"
|
|
. "$dir/logging.sh"
|
|
. "$dir/xen-script-common.sh"
|
|
. "$dir/locking.sh"
|
|
|
|
exec 2>>/var/log/xen/xen-hotplug.log
|
|
|
|
export PATH="${bindir}:${sbindir}:${LIBEXEC_BIN}:/sbin:/bin:/usr/bin:/usr/sbin:$PATH"
|
|
export LD_LIBRARY_PATH="${libdir}${LD_LIBRARY_PATH+:}$LD_LIBRARY_PATH"
|
|
export LANG="POSIX"
|
|
unset $(set | grep ^LC_ | cut -d= -f1)
|
|
|
|
fatal() {
|
|
_xenstore_write "$XENBUS_PATH/hotplug-error" "$*" \
|
|
"$XENBUS_PATH/hotplug-status" error
|
|
log err "$@"
|
|
exit 1
|
|
}
|
|
|
|
success() {
|
|
# Tell DevController that backend is "connected"
|
|
xenstore_write "$XENBUS_PATH/hotplug-status" connected
|
|
}
|
|
|
|
do_or_die() {
|
|
"$@" || fatal "$@ failed"
|
|
}
|
|
|
|
do_without_error() {
|
|
"$@" 2>/dev/null || log debug "$@ failed"
|
|
}
|
|
|
|
sigerr() {
|
|
fatal "$0 failed; error detected."
|
|
}
|
|
|
|
trap sigerr ERR
|
|
|
|
|
|
##
|
|
# xenstore_read <path>+
|
|
#
|
|
# Read each of the given paths, returning each result on a separate line, or
|
|
# exit this script if any of the paths is missing.
|
|
#
|
|
xenstore_read() {
|
|
local v=$(xenstore-read "$@" || true)
|
|
[ "$v" != "" ] || fatal "xenstore-read $@ failed."
|
|
echo "$v"
|
|
}
|
|
|
|
|
|
##
|
|
# xenstore_read_default <path> <default>
|
|
#
|
|
# Read the given path, returning the value there or the given default if the
|
|
# path is not present.
|
|
#
|
|
xenstore_read_default() {
|
|
xenstore-read "$1" 2>/dev/null || echo "$2"
|
|
}
|
|
|
|
|
|
##
|
|
# _xenstore_write (<path> <value>)+
|
|
#
|
|
# Write each of the key/value pairs to the store.
|
|
#
|
|
_xenstore_write() {
|
|
log debug "Writing $@ to xenstore."
|
|
xenstore-write "$@"
|
|
}
|
|
|
|
##
|
|
# xenstore_write (<path> <value>)+
|
|
#
|
|
# Write each of the key/value pairs to the store, and exit this script if any
|
|
# such writing fails.
|
|
#
|
|
xenstore_write() {
|
|
_xenstore_write "$@" || fatal "Writing $@ to xenstore failed."
|
|
}
|
|
|
|
##
|
|
# call_hooks <devtype> <hook>
|
|
#
|
|
# Execute each hook in the <hook> directory.
|
|
#
|
|
call_hooks() {
|
|
for f in @XEN_SCRIPT_DIR@/${1}-${2}.d/*.hook; do
|
|
if [ -x "$f" ]; then . "$f"; fi
|
|
done
|
|
}
|
|
|
|
log debug "$@" "XENBUS_PATH=$XENBUS_PATH"
|