diff --git a/tools/configure b/tools/configure index a3f40b678c..5138f3d3d6 100755 --- a/tools/configure +++ b/tools/configure @@ -2403,7 +2403,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu -ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/vif-setup hotplug/Linux/xen-backend.rules hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons libxl/xenlight.pc.in libxl/xlutil.pc.in" +ac_config_files="$ac_config_files ../config/Tools.mk hotplug/FreeBSD/rc.d/xencommons hotplug/Linux/init.d/sysconfig.xencommons hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/vif-setup hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons libxl/xenlight.pc.in libxl/xlutil.pc.in" ac_config_headers="$ac_config_headers config.h" @@ -10050,7 +10050,6 @@ do "hotplug/Linux/init.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xencommons" ;; "hotplug/Linux/init.d/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/init.d/xendomains" ;; "hotplug/Linux/vif-setup") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/vif-setup" ;; - "hotplug/Linux/xen-backend.rules") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-backend.rules" ;; "hotplug/Linux/xen-hotplug-common.sh") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xen-hotplug-common.sh" ;; "hotplug/Linux/xendomains") CONFIG_FILES="$CONFIG_FILES hotplug/Linux/xendomains" ;; "hotplug/NetBSD/rc.d/xencommons") CONFIG_FILES="$CONFIG_FILES hotplug/NetBSD/rc.d/xencommons" ;; diff --git a/tools/configure.ac b/tools/configure.ac index 2d371f4ea5..8bfdfcb40b 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -13,7 +13,6 @@ hotplug/Linux/init.d/xen-watchdog hotplug/Linux/init.d/xencommons hotplug/Linux/init.d/xendomains hotplug/Linux/vif-setup -hotplug/Linux/xen-backend.rules hotplug/Linux/xen-hotplug-common.sh hotplug/Linux/xendomains hotplug/NetBSD/rc.d/xencommons diff --git a/tools/examples/README b/tools/examples/README index 115ca02f17..13380a48eb 100644 --- a/tools/examples/README +++ b/tools/examples/README @@ -24,7 +24,6 @@ vif-nat - xen virtual network start/stop script in NAT mode vif-route - xen virtual network start/stop script in routed mode xen-backend.agent - calls block, vif-* scripts to add, remove, hotplug devices -xen-backend.rules - hotplug script rules xen-hotplug-common.sh - sourced by vif-common.sh xen-network-common.sh - sourced by vif-common.sh xen-script-common.sh - sourced by xen-hotplug-common.sh diff --git a/tools/hotplug/Linux/Makefile b/tools/hotplug/Linux/Makefile index d94a9cbac0..8bb23162db 100644 --- a/tools/hotplug/Linux/Makefile +++ b/tools/hotplug/Linux/Makefile @@ -32,9 +32,6 @@ XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh XEN_SCRIPT_DATA += block-common.sh -UDEV_RULES_DIR = $(CONFIG_DIR)/udev -UDEV_RULES = xen-backend.rules $(UDEV_RULES-y) - .PHONY: all all: subdirs-all @@ -42,7 +39,7 @@ all: subdirs-all build: .PHONY: install -install: install-initd install-scripts install-udev subdirs-install +install: install-initd install-scripts subdirs-install # See docs/misc/distro_mapping.txt for INITD_DIR location .PHONY: install-initd @@ -70,15 +67,6 @@ install-scripts: $(INSTALL_DATA) $$i $(DESTDIR)$(XEN_SCRIPT_DIR); \ done -.PHONY: install-udev -install-udev: - [ -d $(DESTDIR)$(UDEV_RULES_DIR) ] || \ - $(INSTALL_DIR) $(DESTDIR)$(UDEV_RULES_DIR)/rules.d - set -e; for i in $(UDEV_RULES); \ - do \ - $(INSTALL_DATA) $$i $(DESTDIR)$(UDEV_RULES_DIR)/rules.d; \ - done - .PHONY: clean clean: subdirs-clean diff --git a/tools/hotplug/Linux/xen-backend.rules.in b/tools/hotplug/Linux/xen-backend.rules.in deleted file mode 100644 index ee107af5af..0000000000 --- a/tools/hotplug/Linux/xen-backend.rules.in +++ /dev/null @@ -1,13 +0,0 @@ -SUBSYSTEM=="xen-backend", KERNEL=="vbd*", ENV{UDEV_CALL}="1", RUN+="@XEN_SCRIPT_DIR@/block $env{ACTION}" -SUBSYSTEM=="xen-backend", KERNEL=="vif2-*", RUN+="@XEN_SCRIPT_DIR@/vif2 $env{ACTION}" -SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="online", RUN+="@XEN_SCRIPT_DIR@/vif-setup online type_if=vif" -SUBSYSTEM=="xen-backend", KERNEL=="vif-*", ENV{UDEV_CALL}="1", ACTION=="offline", RUN+="@XEN_SCRIPT_DIR@/vif-setup offline type_if=vif" -SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="@XEN_SCRIPT_DIR@/vscsi $env{ACTION}" -SUBSYSTEM=="xen-backend", ACTION=="remove", ENV{UDEV_CALL}="1", RUN+="@XEN_SCRIPT_DIR@/xen-hotplug-cleanup" -KERNEL=="evtchn", NAME="xen/%k" -SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600" -KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600" -KERNEL=="gntdev", NAME="xen/%k", MODE="0600" -KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600" -KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600" -SUBSYSTEM=="net", KERNEL=="vif*-emu", ACTION=="add", ENV{UDEV_CALL}="1", RUN+="@XEN_SCRIPT_DIR@/vif-setup $env{ACTION} type_if=tap" diff --git a/tools/hotplug/Linux/xen-hotplug-common.sh.in b/tools/hotplug/Linux/xen-hotplug-common.sh.in index 40b933e1ba..afb240ffcf 100644 --- a/tools/hotplug/Linux/xen-hotplug-common.sh.in +++ b/tools/hotplug/Linux/xen-hotplug-common.sh.in @@ -15,13 +15,6 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# Hack to prevent the execution of hotplug scripts from udev if the domain -# has been launched from libxl -if [ -n "${UDEV_CALL}" ] && \ - xenstore-read "libxl/disable_udev" >/dev/null 2>&1; then - exit 0 -fi - dir=$(dirname "$0") . "$dir/hotplugpath.sh" . "$dir/logging.sh" diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c index 92563db33f..3a83903e3d 100644 --- a/tools/libxl/libxl.c +++ b/tools/libxl/libxl.c @@ -3211,7 +3211,6 @@ out: int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic, uint32_t domid) { - int run_hotplug_scripts; int rc; if (!nic->mtu) @@ -3242,12 +3241,6 @@ int libxl__device_nic_setdefault(libxl__gc *gc, libxl_device_nic *nic, libxl__xen_script_dir_path()) < 0 ) return ERROR_FAIL; - run_hotplug_scripts = libxl__hotplug_settings(gc, XBT_NULL); - if (run_hotplug_scripts < 0) { - LOG(ERROR, "unable to get current hotplug scripts execution setting"); - return run_hotplug_scripts; - } - rc = libxl__resolve_domid(gc, nic->backend_domname, &nic->backend_domid); if (rc < 0) return rc; @@ -4550,12 +4543,6 @@ int libxl_device_events_handler(libxl_ctx *ctx, goto out; } - rc = libxl__xs_write_checked(gc, XBT_NULL, DISABLE_UDEV_PATH, "1"); - if (rc) { - LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH); - goto out; - } - /* * We use absolute paths because we want xswatch to also return * absolute paths that can be parsed by libxl__parse_backend_path. diff --git a/tools/libxl/libxl_create.c b/tools/libxl/libxl_create.c index f7990811e7..9c2303c3dc 100644 --- a/tools/libxl/libxl_create.c +++ b/tools/libxl/libxl_create.c @@ -682,33 +682,6 @@ retry_transaction: goto out; } libxl_vminfo_list_free(vm_list, nb_vm); - int hotplug_setting = libxl__hotplug_settings(gc, t); - if (hotplug_setting < 0) { - LOG(ERROR, "unable to get current hotplug scripts execution setting"); - rc = ERROR_FAIL; - goto out; - } - if (libxl_defbool_val(info->run_hotplug_scripts) != hotplug_setting && - (nb_vm - 1)) { - LOG(ERROR, "cannot change hotplug execution option once set, " - "please shutdown all guests before changing it"); - rc = ERROR_FAIL; - goto out; - } - - if (libxl_defbool_val(info->run_hotplug_scripts)) { - rc = libxl__xs_write_checked(gc, t, DISABLE_UDEV_PATH, "1"); - if (rc) { - LOGE(ERROR, "unable to write %s = 1", DISABLE_UDEV_PATH); - goto out; - } - } else { - rc = libxl__xs_rm_checked(gc, t, DISABLE_UDEV_PATH); - if (rc) { - LOGE(ERROR, "unable to delete %s", DISABLE_UDEV_PATH); - goto out; - } - } xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/uuid", vm_path), uuid_string, strlen(uuid_string)); xs_write(ctx->xsh, t, libxl__sprintf(gc, "%s/name", vm_path), info->name, strlen(info->name)); diff --git a/tools/libxl/libxl_internal.c b/tools/libxl/libxl_internal.c index c2c67bdb6f..42d548eb54 100644 --- a/tools/libxl/libxl_internal.c +++ b/tools/libxl/libxl_internal.c @@ -376,25 +376,6 @@ int libxl__device_model_version_running(libxl__gc *gc, uint32_t domid) return value; } -int libxl__hotplug_settings(libxl__gc *gc, xs_transaction_t t) -{ - int rc = 0; - char *val; - - val = libxl__xs_read(gc, t, DISABLE_UDEV_PATH); - if (!val && errno != ENOENT) { - LOGE(ERROR, "cannot read %s from xenstore", DISABLE_UDEV_PATH); - rc = ERROR_FAIL; - goto out; - } - if (!val) val = "0"; - - rc = !!atoi(val); - -out: - return rc; -} - /* Portability note: this lock utilises flock(2) so a proper implementation of * flock(2) is required. */ diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index d52589ee85..7129aeeb8f 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -104,7 +104,6 @@ #define STUBDOM_CONSOLE_SERIAL 3 #define STUBDOM_SPECIAL_CONSOLES 3 #define TAP_DEVICE_SUFFIX "-emu" -#define DISABLE_UDEV_PATH "libxl/disable_udev" #define DOMID_XS_PATH "domid" #define ARRAY_SIZE(a) (sizeof(a) / sizeof(a[0])) diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c index f42a89a08d..512d2c9ddc 100644 --- a/tools/libxl/libxl_linux.c +++ b/tools/libxl/libxl_linux.c @@ -236,15 +236,8 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev, libxl__device_action action, int num_exec) { - char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH); int rc; - /* Check if we have to run hotplug scripts */ - if (!disable_udev) { - rc = 0; - goto out; - } - switch (dev->backend_kind) { case LIBXL__DEVICE_KIND_VBD: if (num_exec != 0) { diff --git a/tools/libxl/libxl_netbsd.c b/tools/libxl/libxl_netbsd.c index a2a962ed2b..096c0578fc 100644 --- a/tools/libxl/libxl_netbsd.c +++ b/tools/libxl/libxl_netbsd.c @@ -64,15 +64,8 @@ int libxl__get_hotplug_script_info(libxl__gc *gc, libxl__device *dev, libxl__device_action action, int num_exec) { - char *disable_udev = libxl__xs_read(gc, XBT_NULL, DISABLE_UDEV_PATH); int rc; - /* Check if we have to run hotplug scripts */ - if (!disable_udev || num_exec > 0) { - rc = 0; - goto out; - } - switch (dev->backend_kind) { case LIBXL__DEVICE_KIND_VBD: case LIBXL__DEVICE_KIND_VIF: