From: Wei Liu <wei.liu2@citrix.com> To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, George Dunlap <George.Dunlap@eu.citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>, Julien Grall <julien.grall@arm.com>, Jan Beulich <jbeulich@suse.com> Subject: [PATCH 1/2] tools: remove blktap2 related code and documentation Date: Tue, 14 May 2019 11:30:29 +0100 [thread overview] Message-ID: <20190514103030.8393-2-wei.liu2@citrix.com> (raw) In-Reply-To: <20190514103030.8393-1-wei.liu2@citrix.com> Blktap2 is effectively dead for a few years. Notable changes in this patch: 0. Unhook blktap2 from build system 1. libxl no longer supports TAP disk backend, with appropriate assertions added and some code paths now return ERROR_FAIL 2. Tap is no longer a supported backend 3. Remove blktap2 entry from MAINTAINERS A patch to remove blktap2 directory will come later. Signed-off-by: Wei Liu <wei.liu2@citrix.com> --- .gitignore | 15 ----- .hgignore | 12 ---- INSTALL | 4 -- MAINTAINERS | 4 -- config/Tools.mk.in | 1 - docs/man/xl-disk-configuration.5.pod | 2 +- tools/Makefile | 1 - tools/Rules.mk | 16 +---- tools/config.h.in | 6 -- tools/configure | 78 ----------------------- tools/configure.ac | 18 ------ tools/golang/xenlight/xenlight.go | 2 +- tools/libxl/Makefile | 8 +-- tools/libxl/check-xl-disk-parse | 2 +- tools/libxl/libxl_blktap2.c | 94 ---------------------------- tools/libxl/libxl_device.c | 40 +----------- tools/libxl/libxl_disk.c | 25 +------- tools/libxl/libxl_dm.c | 17 +---- tools/libxl/libxl_internal.h | 26 -------- tools/libxl/libxl_noblktap2.c | 42 ------------- tools/libxl/xenlight.pc.in | 2 +- tools/xenstore/hashtable.c | 5 -- tools/xenstore/hashtable.h | 5 -- tools/xenstore/hashtable_private.h | 5 -- 24 files changed, 15 insertions(+), 415 deletions(-) delete mode 100644 tools/libxl/libxl_blktap2.c delete mode 100644 tools/libxl/libxl_noblktap2.c diff --git a/.gitignore b/.gitignore index 26bc583f74..b4f5e82d1d 100644 --- a/.gitignore +++ b/.gitignore @@ -114,20 +114,6 @@ tools/libs/foreignmemory/headers.chk tools/libs/foreignmemory/xenforeignmemory.pc tools/libs/devicemodel/headers.chk tools/libs/devicemodel/xendevicemodel.pc -tools/blktap2/control/xenblktapctl.pc -tools/blktap2/daemon/blktapctrl -tools/blktap2/drivers/img2qcow -tools/blktap2/drivers/lock-util -tools/blktap2/drivers/qcow-create -tools/blktap2/drivers/qcow2raw -tools/blktap2/drivers/tapdisk -tools/blktap2/drivers/tapdisk-client -tools/blktap2/drivers/tapdisk-diff -tools/blktap2/drivers/tapdisk-stream -tools/blktap2/drivers/tapdisk2 -tools/blktap2/drivers/td-util -tools/blktap2/vhd/vhd-update -tools/blktap2/vhd/vhd-util tools/console/xenconsole tools/console/xenconsoled tools/console/client/_paths.h @@ -382,7 +368,6 @@ tools/libxl/*.pyc tools/libxl/libxl-save-helper tools/libxl/test_timedereg tools/libxl/test_fdderegrace -tools/blktap2/control/tap-ctl tools/firmware/etherboot/eb-roms.h tools/firmware/etherboot/gpxe-git-snapshot.tar.gz tools/misc/xenwatchdogd diff --git a/.hgignore b/.hgignore index ded8cef532..10025c8793 100644 --- a/.hgignore +++ b/.hgignore @@ -128,18 +128,6 @@ ^stubdom/stubdompath\.sh$ ^stubdom/vtpm/vtpm_manager\.h$ ^tools/.*/build/lib.*/.*\.py$ -^tools/blktap2/control/tap-ctl$ -^tools/blktap2/drivers/img2qcow$ -^tools/blktap2/drivers/lock-util$ -^tools/blktap2/drivers/qcow-create$ -^tools/blktap2/drivers/qcow2raw$ -^tools/blktap2/drivers/tapdisk-client$ -^tools/blktap2/drivers/tapdisk-diff$ -^tools/blktap2/drivers/tapdisk-stream$ -^tools/blktap2/drivers/tapdisk2$ -^tools/blktap2/drivers/td-util$ -^tools/blktap2/vhd/vhd-update$ -^tools/blktap2/vhd/vhd-util$ ^tools/check/\..*$ ^tools/console/xenconsole$ ^tools/console/xenconsoled$ diff --git a/INSTALL b/INSTALL index 9aa9ebdddc..ff8e086fbd 100644 --- a/INSTALL +++ b/INSTALL @@ -144,10 +144,6 @@ this detection and the sysv runlevel scripts have to be used. --with-systemd=DIR --with-systemd-modules-load=DIR -The old backend drivers are disabled because qdisk is now the default. -This option can be used to build them anyway. - --enable-blktap2 - Build various stubom components, some are only example code. Its usually enough to specify just --enable-stubdom and leave these options alone. --enable-ioemu-stubdom diff --git a/MAINTAINERS b/MAINTAINERS index 1f422d96a8..8a1e040258 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -192,10 +192,6 @@ F: xen/include/asm-arm/ F: xen/include/public/arch-arm/ F: xen/include/public/arch-arm.h -BLKTAP2 -S: Orphaned -F: tools/blktap2/ - Continuous Integration (CI) M: Doug Goldstein <cardoe@cardoe.com> W: https://gitlab.com/xen-project/xen diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 98245f63c9..62f154662e 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -53,7 +53,6 @@ CONFIG_SEABIOS := @seabios@ CONFIG_IPXE := @ipxe@ CONFIG_QEMU_TRAD := @qemu_traditional@ CONFIG_QEMU_XEN := @qemu_xen@ -CONFIG_BLKTAP2 := @blktap2@ CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@ CONFIG_LIBNL := @libnl@ diff --git a/docs/man/xl-disk-configuration.5.pod b/docs/man/xl-disk-configuration.5.pod index eea893ef91..7965d5dd73 100644 --- a/docs/man/xl-disk-configuration.5.pod +++ b/docs/man/xl-disk-configuration.5.pod @@ -232,7 +232,7 @@ Specifies the backend implementation to use =item Supported values -phy, tap, qdisk +phy, qdisk =item Mandatory diff --git a/tools/Makefile b/tools/Makefile index 99cbc950dc..7b1f6c4d28 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -20,7 +20,6 @@ SUBDIRS-y += console SUBDIRS-y += xenmon SUBDIRS-y += xenstat SUBDIRS-$(CONFIG_Linux) += memshr -SUBDIRS-$(CONFIG_BLKTAP2) += blktap2 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd SUBDIRS-y += libfsimage SUBDIRS-$(CONFIG_Linux) += libvchan diff --git a/tools/Rules.mk b/tools/Rules.mk index f5613f73a7..cf8935d6a3 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -25,7 +25,6 @@ XEN_XENLIGHT = $(XEN_ROOT)/tools/libxl XEN_XLUTIL = $(XEN_XENLIGHT) XEN_XENSTORE = $(XEN_ROOT)/tools/xenstore XEN_LIBXENSTAT = $(XEN_ROOT)/tools/xenstat/libxenstat/src -XEN_BLKTAP2 = $(XEN_ROOT)/tools/blktap2 XEN_LIBVCHAN = $(XEN_ROOT)/tools/libvchan CFLAGS_xeninclude = -I$(XEN_INCLUDE) @@ -174,21 +173,8 @@ else CFLAGS += -O2 -fomit-frame-pointer endif -ifeq ($(CONFIG_BLKTAP2),y) -CFLAGS_libblktapctl = -I$(XEN_BLKTAP2)/control -I$(XEN_BLKTAP2)/include $(CFLAGS_xeninclude) -SHDEPS_libblktapctl = -LDLIBS_libblktapctl = $(SHDEPS_libblktapctl) $(XEN_BLKTAP2)/control/libblktapctl$(libextension) -SHLIB_libblktapctl = $(SHDEPS_libblktapctl) -Wl,-rpath-link=$(XEN_BLKTAP2)/control -else -CFLAGS_libblktapctl = -SHDEPS_libblktapctl = -LDLIBS_libblktapctl = -SHLIB_libblktapctl = -PKG_CONFIG_REMOVE += xenblktapctl -endif - CFLAGS_libxenlight = -I$(XEN_XENLIGHT) $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) -SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) $(SHLIB_libblktapctl) +SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) LDLIBS_libxenlight = $(SHDEPS_libxenlight) $(XEN_XENLIGHT)/libxenlight$(libextension) SHLIB_libxenlight = $(SHDEPS_libxenlight) -Wl,-rpath-link=$(XEN_XENLIGHT) diff --git a/tools/config.h.in b/tools/config.h.in index 5987f087b8..5a5944ebe1 100644 --- a/tools/config.h.in +++ b/tools/config.h.in @@ -3,9 +3,6 @@ /* Enabling support partial device tree in libxl */ #undef ENABLE_PARTIAL_DEVICE_TREE -/* Blktap2 enabled */ -#undef HAVE_BLKTAP2 - /* Define to 1 if you have the declaration of `fdt_first_subnode', and to 0 if you don't. */ #undef HAVE_DECL_FDT_FIRST_SUBNODE @@ -27,9 +24,6 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `aio' library (-laio). */ -#undef HAVE_LIBAIO - /* Define to 1 if you have the `fdt' library (-lfdt). */ #undef HAVE_LIBFDT diff --git a/tools/configure b/tools/configure index 92ead93335..2e21b97fe6 100755 --- a/tools/configure +++ b/tools/configure @@ -703,7 +703,6 @@ BCC LD86 AS86 qemu_traditional -blktap2 LINUX_BACKEND_MODULES seabios ovmf @@ -808,7 +807,6 @@ enable_xsmpolicy enable_ovmf enable_seabios with_linux_backend_modules -enable_blktap2 enable_qemu_traditional enable_rombios with_system_qemu @@ -1493,7 +1491,6 @@ Optional Features: --disable-xsmpolicy Disable XSM policy compilation (default is ENABLED) --enable-ovmf Enable OVMF (default is DISABLED) --disable-seabios Disable SeaBIOS (default is ENABLED) - --enable-blktap2 Enable blktap2, (DEFAULT is off) --enable-qemu-traditional Enable qemu traditional device model, (DEFAULT is on for Linux or NetBSD x86, otherwise off) @@ -4221,7 +4218,6 @@ xen-scsibk usbbk pciback xen-acpi-processor -blktap2 " ;; *) @@ -4233,29 +4229,6 @@ fi LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`" -# Check whether --enable-blktap2 was given. -if test "${enable_blktap2+set}" = set; then : - enableval=$enable_blktap2; -else - - enable_blktap2="no" - -fi - -if test "x$enable_blktap2" = "xyes"; then : - - -$as_echo "#define HAVE_BLKTAP2 1" >>confdefs.h - - blktap2=y -else - - blktap2=n - -fi - - - # Check whether --enable-qemu-traditional was given. if test "${enable_qemu_traditional+set}" = set; then : enableval=$enable_qemu_traditional; @@ -8467,57 +8440,6 @@ fi -if test "x$enable_blktap2" = "xyes"; then : - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_setup in -laio" >&5 -$as_echo_n "checking for io_setup in -laio... " >&6; } -if ${ac_cv_lib_aio_io_setup+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-laio $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char io_setup (); -int -main () -{ -return io_setup (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_aio_io_setup=yes -else - ac_cv_lib_aio_io_setup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aio_io_setup" >&5 -$as_echo "$ac_cv_lib_aio_io_setup" >&6; } -if test "x$ac_cv_lib_aio_io_setup" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBAIO 1 -_ACEOF - - LIBS="-laio $LIBS" - -else - as_fn_error $? "Could not find libaio" "$LINENO" 5 -fi - - -fi ac_fn_c_check_header_mongrel "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default" diff --git a/tools/configure.ac b/tools/configure.ac index c9fd69ddfa..ba5115e142 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -106,7 +106,6 @@ xen-scsibk usbbk pciback xen-acpi-processor -blktap2 " ;; *) @@ -116,20 +115,6 @@ esac]) LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`" AC_SUBST(LINUX_BACKEND_MODULES) -dnl Enable blktap2 on Linux only. -AC_ARG_ENABLE([blktap2], - AS_HELP_STRING([--enable-blktap2], - [Enable blktap2, (DEFAULT is off)]),,[ - enable_blktap2="no" -]) -AS_IF([test "x$enable_blktap2" = "xyes"], [ -AC_DEFINE([HAVE_BLKTAP2], [1], [Blktap2 enabled]) - blktap2=y],[ - blktap2=n -]) -AC_SUBST(blktap2) - - AC_ARG_ENABLE([qemu-traditional], AS_HELP_STRING([--enable-qemu-traditional], [Enable qemu traditional device model, (DEFAULT is on for Linux or NetBSD x86, otherwise off)]),,[ @@ -402,9 +387,6 @@ AC_CHECK_HEADER([lzo/lzo1x.h], [ AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"]) ]) AC_SUBST(zlib) -AS_IF([test "x$enable_blktap2" = "xyes"], [ -AC_CHECK_LIB([aio], [io_setup], [], [AC_MSG_ERROR([Could not find libaio])]) -]) AC_SUBST(system_aio) AX_CHECK_EXTFS AX_CHECK_PTHREAD diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go index 9c37e59ec0..53534d047e 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -28,7 +28,7 @@ import "C" * -lnl-route-3 -lnl-3 * * To get back to static linking: - * #cgo LDFLAGS: -lxenlight -lyajl_s -lxengnttab -lxenstore -lxenguest -lxentoollog -lxenevtchn -lxenctrl -lblktapctl -lxenforeignmemory -lxencall -lz -luuid -lutil + * #cgo LDFLAGS: -lxenlight -lyajl_s -lxengnttab -lxenstore -lxenguest -lxentoollog -lxenevtchn -lxenctrl -lxenforeignmemory -lxencall -lz -luuid -lutil */ import ( diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 5015ecbf27..6fdcbbddd6 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -20,7 +20,7 @@ LIBUUID_LIBS += -luuid endif LIBXL_LIBS = -LIBXL_LIBS = $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(LDLIBS_libxentoolcore) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS) +LIBXL_LIBS = $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libxentoolcore) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS) ifeq ($(CONFIG_LIBNL),y) LIBXL_LIBS += $(LIBNL3_LIBS) endif @@ -31,7 +31,6 @@ CFLAGS_LIBXL += $(CFLAGS_libxenevtchn) CFLAGS_LIBXL += $(CFLAGS_libxenctrl) CFLAGS_LIBXL += $(CFLAGS_libxenguest) CFLAGS_LIBXL += $(CFLAGS_libxenstore) -CFLAGS_LIBXL += $(CFLAGS_libblktapctl) ifeq ($(CONFIG_LIBNL),y) CFLAGS_LIBXL += $(LIBNL3_CFLAGS) endif @@ -47,11 +46,6 @@ LIBXL_LIBS += $(LIBXL_LIBS-y) LIBXLU_LIBS = $(LDLIBS_libxenlight) LIBXL_OBJS-y = osdeps.o libxl_paths.o libxl_bootloader.o flexarray.o -ifeq ($(CONFIG_BLKTAP2),y) -LIBXL_OBJS-y += libxl_blktap2.o -else -LIBXL_OBJS-y += libxl_noblktap2.o -endif ifeq ($(CONFIG_LIBNL),y) LIBXL_OBJS-y += libxl_netbuffer.o diff --git a/tools/libxl/check-xl-disk-parse b/tools/libxl/check-xl-disk-parse index 03572e4471..643f4f4ecb 100755 --- a/tools/libxl/check-xl-disk-parse +++ b/tools/libxl/check-xl-disk-parse @@ -3,7 +3,7 @@ set -e if [ -x ./xl ] ; then - export LD_LIBRARY_PATH=.:../libxc:../xenstore:../blktap2/control + export LD_LIBRARY_PATH=.:../libxc:../xenstore XL=./xl else XL=xl diff --git a/tools/libxl/libxl_blktap2.c b/tools/libxl/libxl_blktap2.c deleted file mode 100644 index 5c9a0a2da8..0000000000 --- a/tools/libxl/libxl_blktap2.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 2010 Advanced Micro Devices - * Author Christoph Egger <Christoph.Egger@amd.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; version 2.1 only. - * - * This program 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. - */ - -#include "libxl_osdeps.h" /* must come before any other headers */ -#include "libxl_internal.h" - -#include "tap-ctl.h" - -int libxl__blktap_enabled(libxl__gc *gc) -{ - const char *msg; - return !tap_ctl_check(&msg); -} - -char *libxl__blktap_devpath(libxl__gc *gc, - const char *disk, - libxl_disk_format format) -{ - const char *type; - char *params, *devname = NULL; - tap_list_t tap; - int err; - - type = libxl__device_disk_string_of_format(format); - err = tap_ctl_find(type, disk, &tap); - if (err == 0) { - devname = GCSPRINTF("/dev/xen/blktap-2/tapdev%d", tap.minor); - if (devname) - return devname; - } - - params = GCSPRINTF("%s:%s", type, disk); - err = tap_ctl_create(params, &devname); - if (!err) { - libxl__ptr_add(gc, devname); - return devname; - } - - free(devname); - return NULL; -} - - -int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *params) -{ - char *type, *disk; - int err; - tap_list_t tap; - - type = libxl__strdup(gc, params); - - disk = strchr(type, ':'); - if (!disk) { - LOG(ERROR, "Unable to parse params %s", params); - return ERROR_INVAL; - } - - *disk++ = '\0'; - - err = tap_ctl_find(type, disk, &tap); - if (err < 0) { - /* returns -errno */ - LOGEV(ERROR, -err, "Unable to find type %s disk %s", type, disk); - return ERROR_FAIL; - } - - err = tap_ctl_destroy(tap.id, tap.minor); - if (err < 0) { - LOGEV(ERROR, -err, "Failed to destroy tap device id %d minor %d", - tap.id, tap.minor); - return ERROR_FAIL; - } - - return 0; -} - -/* - * Local variables: - * mode: C - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - */ diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 87ddfc3ac7..f8340ba815 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -321,26 +321,9 @@ static int disk_try_backend(disk_try_backend_args *a, return 0; case LIBXL_DISK_BACKEND_TAP: - if (a->disk->script) goto bad_script; - - if (libxl_defbool_val(a->disk->colo_enable)) - goto bad_colo; - - if (a->disk->is_cdrom) { - LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable for cdroms", - a->disk->vdev); - return 0; - } - if (!libxl__blktap_enabled(a->gc)) { - LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable because blktap " - "not available", a->disk->vdev); - return 0; - } - if (!(a->disk->format == LIBXL_DISK_FORMAT_RAW || - a->disk->format == LIBXL_DISK_FORMAT_VHD)) { - goto bad_format; - } - return backend; + LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable because blktap " + "not available", a->disk->vdev); + return 0; case LIBXL_DISK_BACKEND_QDISK: if (a->disk->script) goto bad_script; @@ -746,19 +729,11 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) const char *be_path = NULL; const char *fe_path = NULL; const char *libxl_path = libxl__device_libxl_path(gc, dev); - const char *tapdisk_path = NULL; - const char *tapdisk_params = NULL; xs_transaction_t t = 0; int rc; uint32_t domid; int libxl_only = dev->backend_kind == LIBXL__DEVICE_KIND_NONE; - if (!libxl_only) { - be_path = libxl__device_backend_path(gc, dev); - fe_path = libxl__device_frontend_path(gc, dev); - tapdisk_path = GCSPRINTF("%s/%s", be_path, "tapdisk-params"); - } - rc = libxl__get_domid(gc, &domid); if (rc) goto out; @@ -766,12 +741,6 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) rc = libxl__xs_transaction_start(gc, &t); if (rc) goto out; - /* May not exist if this is not a tap device */ - if (tapdisk_path) { - rc = libxl__xs_read_checked(gc, t, tapdisk_path, &tapdisk_params); - if (rc) goto out; - } - if (domid == LIBXL_TOOLSTACK_DOMID) { /* * The toolstack domain is in charge of removing the @@ -794,9 +763,6 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) if (rc < 0) goto out; } - if (tapdisk_params) - rc = libxl__device_destroy_tapdisk(gc, tapdisk_params); - out: libxl__xs_transaction_abort(gc, &t); return rc; diff --git a/tools/libxl/libxl_disk.c b/tools/libxl/libxl_disk.c index 79e30f8d52..bc9e2d5a74 100644 --- a/tools/libxl/libxl_disk.c +++ b/tools/libxl/libxl_disk.c @@ -321,7 +321,6 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, case LIBXL_DISK_BACKEND_PHY: dev = disk->pdev_path; - do_backend_phy: flexarray_append(back, "params"); flexarray_append(back, dev); @@ -333,27 +332,9 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, break; case LIBXL_DISK_BACKEND_TAP: - if (dev == NULL) { - dev = libxl__blktap_devpath(gc, disk->pdev_path, - disk->format); - if (!dev) { - LOGD(ERROR, domid, "Failed to get blktap devpath for %p", - disk->pdev_path); - rc = ERROR_FAIL; - goto out; - } - } - flexarray_append(back, "tapdisk-params"); - flexarray_append(back, GCSPRINTF("%s:%s", - libxl__device_disk_string_of_format(disk->format), - disk->pdev_path)); - - /* tap backends with scripts are rejected by - * libxl__device_disk_set_backend */ - assert(!disk->script); - - /* now create a phy device to export the device to the guest */ - goto do_backend_phy; + LOG(ERROR, "blktap is not supported"); + rc = ERROR_FAIL; + goto out; case LIBXL_DISK_BACKEND_QDISK: flexarray_append(back, "params"); flexarray_append(back, GCSPRINTF("%s:%s", diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 2f19786bdd..f4fc96415d 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -1812,20 +1812,9 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, continue; } - /* - * We can't call libxl__blktap_devpath from - * libxl__device_disk_find_local_path for now because - * the bootloader is called before the disks are set - * up, so this function would set up a blktap node, - * but there's no TAP tear-down on error conditions in - * the bootloader path. - */ - if (disks[i].backend == LIBXL_DISK_BACKEND_TAP) - target_path = libxl__blktap_devpath(gc, disks[i].pdev_path, - disks[i].format); - else - target_path = libxl__device_disk_find_local_path(gc, - guest_domid, &disks[i], true); + assert(disks[i].backend != LIBXL_DISK_BACKEND_TAP); + target_path = libxl__device_disk_find_local_path(gc, + guest_domid, &disks[i], true); if (!target_path) { LOGD(WARN, guest_domid, "No way to get local access disk to image: %s\n" diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 44e0221284..3be5c644c1 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -1890,32 +1890,6 @@ struct libxl__cpuid_policy { char *policy[4]; }; -/* - * blktap2 support - */ - -/* libxl__blktap_enabled: - * return true if blktap/blktap2 support is available. - */ -_hidden int libxl__blktap_enabled(libxl__gc *gc); - -/* libxl__blktap_devpath: - * Argument: path and disk image as specified in config file. - * The type specifies whether this is aio, qcow, qcow2, etc. - * returns device path xenstore wants to have. returns NULL - * if no device corresponds to the disk. - */ -_hidden char *libxl__blktap_devpath(libxl__gc *gc, - const char *disk, - libxl_disk_format format); - -/* libxl__device_destroy_tapdisk: - * Destroys any tapdisk process associated with the backend represented - * by be_path. - * Always logs on failure. - */ -_hidden int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *params); - /* Calls poll() again - useful to check whether a signaled condition * is still true. Cannot fail. Returns currently-true revents. */ _hidden short libxl__fd_poll_recheck(libxl__egc *egc, int fd, short events); diff --git a/tools/libxl/libxl_noblktap2.c b/tools/libxl/libxl_noblktap2.c deleted file mode 100644 index 5a86ed1b6a..0000000000 --- a/tools/libxl/libxl_noblktap2.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2010 Advanced Micro Devices - * Author Christoph Egger <Christoph.Egger@amd.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; version 2.1 only. - * - * This program 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. - */ - -#include "libxl_osdeps.h" /* must come before any other headers */ - -#include "libxl_internal.h" - -int libxl__blktap_enabled(libxl__gc *gc) -{ - return 0; -} - -char *libxl__blktap_devpath(libxl__gc *gc, - const char *disk, - libxl_disk_format format) -{ - return NULL; -} - -int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *params) -{ - return 0; -} - -/* - * Local variables: - * mode: C - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - */ diff --git a/tools/libxl/xenlight.pc.in b/tools/libxl/xenlight.pc.in index 86c38a5634..c0f769fd20 100644 --- a/tools/libxl/xenlight.pc.in +++ b/tools/libxl/xenlight.pc.in @@ -9,4 +9,4 @@ Description: The Xenlight library for Xen hypervisor Version: @@version@@ Cflags: -I${includedir} Libs: @@libsflag@@${libdir} -lxenlight -Requires.private: xentoollog,xenevtchn,xencontrol,xenguest,xenstore,xenblktapctl +Requires.private: xentoollog,xenevtchn,xencontrol,xenguest,xenstore diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c index 0ba1d552f1..394b1cf9d0 100644 --- a/tools/xenstore/hashtable.c +++ b/tools/xenstore/hashtable.c @@ -1,10 +1,5 @@ /* Copyright (C) 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */ -/* - * There are duplicates of this code in: - * - tools/blktap2/drivers/hashtable.c - */ - #include "hashtable.h" #include "hashtable_private.h" #include <stdlib.h> diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h index 4d6822354e..b90781abd4 100644 --- a/tools/xenstore/hashtable.h +++ b/tools/xenstore/hashtable.h @@ -1,10 +1,5 @@ /* Copyright (C) 2002 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */ -/* - * There are duplicates of this code in: - * - tools/blktap2/drivers/hashtable.h - */ - #ifndef __HASHTABLE_CWC22_H__ #define __HASHTABLE_CWC22_H__ diff --git a/tools/xenstore/hashtable_private.h b/tools/xenstore/hashtable_private.h index a08559d5df..3e95f60057 100644 --- a/tools/xenstore/hashtable_private.h +++ b/tools/xenstore/hashtable_private.h @@ -1,10 +1,5 @@ /* Copyright (C) 2002, 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */ -/* - * There are duplicates of this code in: - * - tools/blktap2/drivers/hashtable_private.h - */ - #ifndef __HASHTABLE_PRIVATE_CWC22_H__ #define __HASHTABLE_PRIVATE_CWC22_H__ -- 2.20.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
WARNING: multiple messages have this Message-ID (diff)
From: Wei Liu <wei.liu2@citrix.com> To: <xen-devel@lists.xenproject.org> Cc: Stefano Stabellini <sstabellini@kernel.org>, Wei Liu <wei.liu2@citrix.com>, Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>, George Dunlap <George.Dunlap@eu.citrix.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Ian Jackson <ian.jackson@eu.citrix.com>, Tim Deegan <tim@xen.org>, Julien Grall <julien.grall@arm.com>, Jan Beulich <jbeulich@suse.com> Subject: [Xen-devel] [PATCH 1/2] tools: remove blktap2 related code and documentation Date: Tue, 14 May 2019 11:30:29 +0100 [thread overview] Message-ID: <20190514103030.8393-2-wei.liu2@citrix.com> (raw) Message-ID: <20190514103029.u-iTjqpzsOCTOD_0EfUjaf5VHciLxaJRza9BA7oKw7Q@z> (raw) In-Reply-To: <20190514103030.8393-1-wei.liu2@citrix.com> Blktap2 is effectively dead for a few years. Notable changes in this patch: 0. Unhook blktap2 from build system 1. libxl no longer supports TAP disk backend, with appropriate assertions added and some code paths now return ERROR_FAIL 2. Tap is no longer a supported backend 3. Remove blktap2 entry from MAINTAINERS A patch to remove blktap2 directory will come later. Signed-off-by: Wei Liu <wei.liu2@citrix.com> --- .gitignore | 15 ----- .hgignore | 12 ---- INSTALL | 4 -- MAINTAINERS | 4 -- config/Tools.mk.in | 1 - docs/man/xl-disk-configuration.5.pod | 2 +- tools/Makefile | 1 - tools/Rules.mk | 16 +---- tools/config.h.in | 6 -- tools/configure | 78 ----------------------- tools/configure.ac | 18 ------ tools/golang/xenlight/xenlight.go | 2 +- tools/libxl/Makefile | 8 +-- tools/libxl/check-xl-disk-parse | 2 +- tools/libxl/libxl_blktap2.c | 94 ---------------------------- tools/libxl/libxl_device.c | 40 +----------- tools/libxl/libxl_disk.c | 25 +------- tools/libxl/libxl_dm.c | 17 +---- tools/libxl/libxl_internal.h | 26 -------- tools/libxl/libxl_noblktap2.c | 42 ------------- tools/libxl/xenlight.pc.in | 2 +- tools/xenstore/hashtable.c | 5 -- tools/xenstore/hashtable.h | 5 -- tools/xenstore/hashtable_private.h | 5 -- 24 files changed, 15 insertions(+), 415 deletions(-) delete mode 100644 tools/libxl/libxl_blktap2.c delete mode 100644 tools/libxl/libxl_noblktap2.c diff --git a/.gitignore b/.gitignore index 26bc583f74..b4f5e82d1d 100644 --- a/.gitignore +++ b/.gitignore @@ -114,20 +114,6 @@ tools/libs/foreignmemory/headers.chk tools/libs/foreignmemory/xenforeignmemory.pc tools/libs/devicemodel/headers.chk tools/libs/devicemodel/xendevicemodel.pc -tools/blktap2/control/xenblktapctl.pc -tools/blktap2/daemon/blktapctrl -tools/blktap2/drivers/img2qcow -tools/blktap2/drivers/lock-util -tools/blktap2/drivers/qcow-create -tools/blktap2/drivers/qcow2raw -tools/blktap2/drivers/tapdisk -tools/blktap2/drivers/tapdisk-client -tools/blktap2/drivers/tapdisk-diff -tools/blktap2/drivers/tapdisk-stream -tools/blktap2/drivers/tapdisk2 -tools/blktap2/drivers/td-util -tools/blktap2/vhd/vhd-update -tools/blktap2/vhd/vhd-util tools/console/xenconsole tools/console/xenconsoled tools/console/client/_paths.h @@ -382,7 +368,6 @@ tools/libxl/*.pyc tools/libxl/libxl-save-helper tools/libxl/test_timedereg tools/libxl/test_fdderegrace -tools/blktap2/control/tap-ctl tools/firmware/etherboot/eb-roms.h tools/firmware/etherboot/gpxe-git-snapshot.tar.gz tools/misc/xenwatchdogd diff --git a/.hgignore b/.hgignore index ded8cef532..10025c8793 100644 --- a/.hgignore +++ b/.hgignore @@ -128,18 +128,6 @@ ^stubdom/stubdompath\.sh$ ^stubdom/vtpm/vtpm_manager\.h$ ^tools/.*/build/lib.*/.*\.py$ -^tools/blktap2/control/tap-ctl$ -^tools/blktap2/drivers/img2qcow$ -^tools/blktap2/drivers/lock-util$ -^tools/blktap2/drivers/qcow-create$ -^tools/blktap2/drivers/qcow2raw$ -^tools/blktap2/drivers/tapdisk-client$ -^tools/blktap2/drivers/tapdisk-diff$ -^tools/blktap2/drivers/tapdisk-stream$ -^tools/blktap2/drivers/tapdisk2$ -^tools/blktap2/drivers/td-util$ -^tools/blktap2/vhd/vhd-update$ -^tools/blktap2/vhd/vhd-util$ ^tools/check/\..*$ ^tools/console/xenconsole$ ^tools/console/xenconsoled$ diff --git a/INSTALL b/INSTALL index 9aa9ebdddc..ff8e086fbd 100644 --- a/INSTALL +++ b/INSTALL @@ -144,10 +144,6 @@ this detection and the sysv runlevel scripts have to be used. --with-systemd=DIR --with-systemd-modules-load=DIR -The old backend drivers are disabled because qdisk is now the default. -This option can be used to build them anyway. - --enable-blktap2 - Build various stubom components, some are only example code. Its usually enough to specify just --enable-stubdom and leave these options alone. --enable-ioemu-stubdom diff --git a/MAINTAINERS b/MAINTAINERS index 1f422d96a8..8a1e040258 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -192,10 +192,6 @@ F: xen/include/asm-arm/ F: xen/include/public/arch-arm/ F: xen/include/public/arch-arm.h -BLKTAP2 -S: Orphaned -F: tools/blktap2/ - Continuous Integration (CI) M: Doug Goldstein <cardoe@cardoe.com> W: https://gitlab.com/xen-project/xen diff --git a/config/Tools.mk.in b/config/Tools.mk.in index 98245f63c9..62f154662e 100644 --- a/config/Tools.mk.in +++ b/config/Tools.mk.in @@ -53,7 +53,6 @@ CONFIG_SEABIOS := @seabios@ CONFIG_IPXE := @ipxe@ CONFIG_QEMU_TRAD := @qemu_traditional@ CONFIG_QEMU_XEN := @qemu_xen@ -CONFIG_BLKTAP2 := @blktap2@ CONFIG_QEMUU_EXTRA_ARGS:= @EXTRA_QEMUU_CONFIGURE_ARGS@ CONFIG_LIBNL := @libnl@ diff --git a/docs/man/xl-disk-configuration.5.pod b/docs/man/xl-disk-configuration.5.pod index eea893ef91..7965d5dd73 100644 --- a/docs/man/xl-disk-configuration.5.pod +++ b/docs/man/xl-disk-configuration.5.pod @@ -232,7 +232,7 @@ Specifies the backend implementation to use =item Supported values -phy, tap, qdisk +phy, qdisk =item Mandatory diff --git a/tools/Makefile b/tools/Makefile index 99cbc950dc..7b1f6c4d28 100644 --- a/tools/Makefile +++ b/tools/Makefile @@ -20,7 +20,6 @@ SUBDIRS-y += console SUBDIRS-y += xenmon SUBDIRS-y += xenstat SUBDIRS-$(CONFIG_Linux) += memshr -SUBDIRS-$(CONFIG_BLKTAP2) += blktap2 SUBDIRS-$(CONFIG_NetBSD) += xenbackendd SUBDIRS-y += libfsimage SUBDIRS-$(CONFIG_Linux) += libvchan diff --git a/tools/Rules.mk b/tools/Rules.mk index f5613f73a7..cf8935d6a3 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -25,7 +25,6 @@ XEN_XENLIGHT = $(XEN_ROOT)/tools/libxl XEN_XLUTIL = $(XEN_XENLIGHT) XEN_XENSTORE = $(XEN_ROOT)/tools/xenstore XEN_LIBXENSTAT = $(XEN_ROOT)/tools/xenstat/libxenstat/src -XEN_BLKTAP2 = $(XEN_ROOT)/tools/blktap2 XEN_LIBVCHAN = $(XEN_ROOT)/tools/libvchan CFLAGS_xeninclude = -I$(XEN_INCLUDE) @@ -174,21 +173,8 @@ else CFLAGS += -O2 -fomit-frame-pointer endif -ifeq ($(CONFIG_BLKTAP2),y) -CFLAGS_libblktapctl = -I$(XEN_BLKTAP2)/control -I$(XEN_BLKTAP2)/include $(CFLAGS_xeninclude) -SHDEPS_libblktapctl = -LDLIBS_libblktapctl = $(SHDEPS_libblktapctl) $(XEN_BLKTAP2)/control/libblktapctl$(libextension) -SHLIB_libblktapctl = $(SHDEPS_libblktapctl) -Wl,-rpath-link=$(XEN_BLKTAP2)/control -else -CFLAGS_libblktapctl = -SHDEPS_libblktapctl = -LDLIBS_libblktapctl = -SHLIB_libblktapctl = -PKG_CONFIG_REMOVE += xenblktapctl -endif - CFLAGS_libxenlight = -I$(XEN_XENLIGHT) $(CFLAGS_libxenctrl) $(CFLAGS_xeninclude) -SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) $(SHLIB_libblktapctl) +SHDEPS_libxenlight = $(SHLIB_libxenctrl) $(SHLIB_libxenstore) LDLIBS_libxenlight = $(SHDEPS_libxenlight) $(XEN_XENLIGHT)/libxenlight$(libextension) SHLIB_libxenlight = $(SHDEPS_libxenlight) -Wl,-rpath-link=$(XEN_XENLIGHT) diff --git a/tools/config.h.in b/tools/config.h.in index 5987f087b8..5a5944ebe1 100644 --- a/tools/config.h.in +++ b/tools/config.h.in @@ -3,9 +3,6 @@ /* Enabling support partial device tree in libxl */ #undef ENABLE_PARTIAL_DEVICE_TREE -/* Blktap2 enabled */ -#undef HAVE_BLKTAP2 - /* Define to 1 if you have the declaration of `fdt_first_subnode', and to 0 if you don't. */ #undef HAVE_DECL_FDT_FIRST_SUBNODE @@ -27,9 +24,6 @@ /* Define to 1 if you have the <inttypes.h> header file. */ #undef HAVE_INTTYPES_H -/* Define to 1 if you have the `aio' library (-laio). */ -#undef HAVE_LIBAIO - /* Define to 1 if you have the `fdt' library (-lfdt). */ #undef HAVE_LIBFDT diff --git a/tools/configure b/tools/configure index 92ead93335..2e21b97fe6 100755 --- a/tools/configure +++ b/tools/configure @@ -703,7 +703,6 @@ BCC LD86 AS86 qemu_traditional -blktap2 LINUX_BACKEND_MODULES seabios ovmf @@ -808,7 +807,6 @@ enable_xsmpolicy enable_ovmf enable_seabios with_linux_backend_modules -enable_blktap2 enable_qemu_traditional enable_rombios with_system_qemu @@ -1493,7 +1491,6 @@ Optional Features: --disable-xsmpolicy Disable XSM policy compilation (default is ENABLED) --enable-ovmf Enable OVMF (default is DISABLED) --disable-seabios Disable SeaBIOS (default is ENABLED) - --enable-blktap2 Enable blktap2, (DEFAULT is off) --enable-qemu-traditional Enable qemu traditional device model, (DEFAULT is on for Linux or NetBSD x86, otherwise off) @@ -4221,7 +4218,6 @@ xen-scsibk usbbk pciback xen-acpi-processor -blktap2 " ;; *) @@ -4233,29 +4229,6 @@ fi LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`" -# Check whether --enable-blktap2 was given. -if test "${enable_blktap2+set}" = set; then : - enableval=$enable_blktap2; -else - - enable_blktap2="no" - -fi - -if test "x$enable_blktap2" = "xyes"; then : - - -$as_echo "#define HAVE_BLKTAP2 1" >>confdefs.h - - blktap2=y -else - - blktap2=n - -fi - - - # Check whether --enable-qemu-traditional was given. if test "${enable_qemu_traditional+set}" = set; then : enableval=$enable_qemu_traditional; @@ -8467,57 +8440,6 @@ fi -if test "x$enable_blktap2" = "xyes"; then : - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_setup in -laio" >&5 -$as_echo_n "checking for io_setup in -laio... " >&6; } -if ${ac_cv_lib_aio_io_setup+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-laio $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char io_setup (); -int -main () -{ -return io_setup (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_aio_io_setup=yes -else - ac_cv_lib_aio_io_setup=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_aio_io_setup" >&5 -$as_echo "$ac_cv_lib_aio_io_setup" >&6; } -if test "x$ac_cv_lib_aio_io_setup" = xyes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBAIO 1 -_ACEOF - - LIBS="-laio $LIBS" - -else - as_fn_error $? "Could not find libaio" "$LINENO" 5 -fi - - -fi ac_fn_c_check_header_mongrel "$LINENO" "ext2fs/ext2fs.h" "ac_cv_header_ext2fs_ext2fs_h" "$ac_includes_default" diff --git a/tools/configure.ac b/tools/configure.ac index c9fd69ddfa..ba5115e142 100644 --- a/tools/configure.ac +++ b/tools/configure.ac @@ -106,7 +106,6 @@ xen-scsibk usbbk pciback xen-acpi-processor -blktap2 " ;; *) @@ -116,20 +115,6 @@ esac]) LINUX_BACKEND_MODULES="`eval echo $LINUX_BACKEND_MODULES`" AC_SUBST(LINUX_BACKEND_MODULES) -dnl Enable blktap2 on Linux only. -AC_ARG_ENABLE([blktap2], - AS_HELP_STRING([--enable-blktap2], - [Enable blktap2, (DEFAULT is off)]),,[ - enable_blktap2="no" -]) -AS_IF([test "x$enable_blktap2" = "xyes"], [ -AC_DEFINE([HAVE_BLKTAP2], [1], [Blktap2 enabled]) - blktap2=y],[ - blktap2=n -]) -AC_SUBST(blktap2) - - AC_ARG_ENABLE([qemu-traditional], AS_HELP_STRING([--enable-qemu-traditional], [Enable qemu traditional device model, (DEFAULT is on for Linux or NetBSD x86, otherwise off)]),,[ @@ -402,9 +387,6 @@ AC_CHECK_HEADER([lzo/lzo1x.h], [ AC_CHECK_LIB([lzo2], [lzo1x_decompress], [zlib="$zlib -DHAVE_LZO1X -llzo2"]) ]) AC_SUBST(zlib) -AS_IF([test "x$enable_blktap2" = "xyes"], [ -AC_CHECK_LIB([aio], [io_setup], [], [AC_MSG_ERROR([Could not find libaio])]) -]) AC_SUBST(system_aio) AX_CHECK_EXTFS AX_CHECK_PTHREAD diff --git a/tools/golang/xenlight/xenlight.go b/tools/golang/xenlight/xenlight.go index 9c37e59ec0..53534d047e 100644 --- a/tools/golang/xenlight/xenlight.go +++ b/tools/golang/xenlight/xenlight.go @@ -28,7 +28,7 @@ import "C" * -lnl-route-3 -lnl-3 * * To get back to static linking: - * #cgo LDFLAGS: -lxenlight -lyajl_s -lxengnttab -lxenstore -lxenguest -lxentoollog -lxenevtchn -lxenctrl -lblktapctl -lxenforeignmemory -lxencall -lz -luuid -lutil + * #cgo LDFLAGS: -lxenlight -lyajl_s -lxengnttab -lxenstore -lxenguest -lxentoollog -lxenevtchn -lxenctrl -lxenforeignmemory -lxencall -lz -luuid -lutil */ import ( diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile index 5015ecbf27..6fdcbbddd6 100644 --- a/tools/libxl/Makefile +++ b/tools/libxl/Makefile @@ -20,7 +20,7 @@ LIBUUID_LIBS += -luuid endif LIBXL_LIBS = -LIBXL_LIBS = $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libblktapctl) $(LDLIBS_libxentoolcore) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS) +LIBXL_LIBS = $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) $(LDLIBS_libxentoolcore) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS) ifeq ($(CONFIG_LIBNL),y) LIBXL_LIBS += $(LIBNL3_LIBS) endif @@ -31,7 +31,6 @@ CFLAGS_LIBXL += $(CFLAGS_libxenevtchn) CFLAGS_LIBXL += $(CFLAGS_libxenctrl) CFLAGS_LIBXL += $(CFLAGS_libxenguest) CFLAGS_LIBXL += $(CFLAGS_libxenstore) -CFLAGS_LIBXL += $(CFLAGS_libblktapctl) ifeq ($(CONFIG_LIBNL),y) CFLAGS_LIBXL += $(LIBNL3_CFLAGS) endif @@ -47,11 +46,6 @@ LIBXL_LIBS += $(LIBXL_LIBS-y) LIBXLU_LIBS = $(LDLIBS_libxenlight) LIBXL_OBJS-y = osdeps.o libxl_paths.o libxl_bootloader.o flexarray.o -ifeq ($(CONFIG_BLKTAP2),y) -LIBXL_OBJS-y += libxl_blktap2.o -else -LIBXL_OBJS-y += libxl_noblktap2.o -endif ifeq ($(CONFIG_LIBNL),y) LIBXL_OBJS-y += libxl_netbuffer.o diff --git a/tools/libxl/check-xl-disk-parse b/tools/libxl/check-xl-disk-parse index 03572e4471..643f4f4ecb 100755 --- a/tools/libxl/check-xl-disk-parse +++ b/tools/libxl/check-xl-disk-parse @@ -3,7 +3,7 @@ set -e if [ -x ./xl ] ; then - export LD_LIBRARY_PATH=.:../libxc:../xenstore:../blktap2/control + export LD_LIBRARY_PATH=.:../libxc:../xenstore XL=./xl else XL=xl diff --git a/tools/libxl/libxl_blktap2.c b/tools/libxl/libxl_blktap2.c deleted file mode 100644 index 5c9a0a2da8..0000000000 --- a/tools/libxl/libxl_blktap2.c +++ /dev/null @@ -1,94 +0,0 @@ -/* - * Copyright (C) 2010 Advanced Micro Devices - * Author Christoph Egger <Christoph.Egger@amd.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; version 2.1 only. - * - * This program 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. - */ - -#include "libxl_osdeps.h" /* must come before any other headers */ -#include "libxl_internal.h" - -#include "tap-ctl.h" - -int libxl__blktap_enabled(libxl__gc *gc) -{ - const char *msg; - return !tap_ctl_check(&msg); -} - -char *libxl__blktap_devpath(libxl__gc *gc, - const char *disk, - libxl_disk_format format) -{ - const char *type; - char *params, *devname = NULL; - tap_list_t tap; - int err; - - type = libxl__device_disk_string_of_format(format); - err = tap_ctl_find(type, disk, &tap); - if (err == 0) { - devname = GCSPRINTF("/dev/xen/blktap-2/tapdev%d", tap.minor); - if (devname) - return devname; - } - - params = GCSPRINTF("%s:%s", type, disk); - err = tap_ctl_create(params, &devname); - if (!err) { - libxl__ptr_add(gc, devname); - return devname; - } - - free(devname); - return NULL; -} - - -int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *params) -{ - char *type, *disk; - int err; - tap_list_t tap; - - type = libxl__strdup(gc, params); - - disk = strchr(type, ':'); - if (!disk) { - LOG(ERROR, "Unable to parse params %s", params); - return ERROR_INVAL; - } - - *disk++ = '\0'; - - err = tap_ctl_find(type, disk, &tap); - if (err < 0) { - /* returns -errno */ - LOGEV(ERROR, -err, "Unable to find type %s disk %s", type, disk); - return ERROR_FAIL; - } - - err = tap_ctl_destroy(tap.id, tap.minor); - if (err < 0) { - LOGEV(ERROR, -err, "Failed to destroy tap device id %d minor %d", - tap.id, tap.minor); - return ERROR_FAIL; - } - - return 0; -} - -/* - * Local variables: - * mode: C - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - */ diff --git a/tools/libxl/libxl_device.c b/tools/libxl/libxl_device.c index 87ddfc3ac7..f8340ba815 100644 --- a/tools/libxl/libxl_device.c +++ b/tools/libxl/libxl_device.c @@ -321,26 +321,9 @@ static int disk_try_backend(disk_try_backend_args *a, return 0; case LIBXL_DISK_BACKEND_TAP: - if (a->disk->script) goto bad_script; - - if (libxl_defbool_val(a->disk->colo_enable)) - goto bad_colo; - - if (a->disk->is_cdrom) { - LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable for cdroms", - a->disk->vdev); - return 0; - } - if (!libxl__blktap_enabled(a->gc)) { - LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable because blktap " - "not available", a->disk->vdev); - return 0; - } - if (!(a->disk->format == LIBXL_DISK_FORMAT_RAW || - a->disk->format == LIBXL_DISK_FORMAT_VHD)) { - goto bad_format; - } - return backend; + LOG(DEBUG, "Disk vdev=%s, backend tap unsuitable because blktap " + "not available", a->disk->vdev); + return 0; case LIBXL_DISK_BACKEND_QDISK: if (a->disk->script) goto bad_script; @@ -746,19 +729,11 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) const char *be_path = NULL; const char *fe_path = NULL; const char *libxl_path = libxl__device_libxl_path(gc, dev); - const char *tapdisk_path = NULL; - const char *tapdisk_params = NULL; xs_transaction_t t = 0; int rc; uint32_t domid; int libxl_only = dev->backend_kind == LIBXL__DEVICE_KIND_NONE; - if (!libxl_only) { - be_path = libxl__device_backend_path(gc, dev); - fe_path = libxl__device_frontend_path(gc, dev); - tapdisk_path = GCSPRINTF("%s/%s", be_path, "tapdisk-params"); - } - rc = libxl__get_domid(gc, &domid); if (rc) goto out; @@ -766,12 +741,6 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) rc = libxl__xs_transaction_start(gc, &t); if (rc) goto out; - /* May not exist if this is not a tap device */ - if (tapdisk_path) { - rc = libxl__xs_read_checked(gc, t, tapdisk_path, &tapdisk_params); - if (rc) goto out; - } - if (domid == LIBXL_TOOLSTACK_DOMID) { /* * The toolstack domain is in charge of removing the @@ -794,9 +763,6 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device *dev) if (rc < 0) goto out; } - if (tapdisk_params) - rc = libxl__device_destroy_tapdisk(gc, tapdisk_params); - out: libxl__xs_transaction_abort(gc, &t); return rc; diff --git a/tools/libxl/libxl_disk.c b/tools/libxl/libxl_disk.c index 79e30f8d52..bc9e2d5a74 100644 --- a/tools/libxl/libxl_disk.c +++ b/tools/libxl/libxl_disk.c @@ -321,7 +321,6 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, case LIBXL_DISK_BACKEND_PHY: dev = disk->pdev_path; - do_backend_phy: flexarray_append(back, "params"); flexarray_append(back, dev); @@ -333,27 +332,9 @@ static void device_disk_add(libxl__egc *egc, uint32_t domid, break; case LIBXL_DISK_BACKEND_TAP: - if (dev == NULL) { - dev = libxl__blktap_devpath(gc, disk->pdev_path, - disk->format); - if (!dev) { - LOGD(ERROR, domid, "Failed to get blktap devpath for %p", - disk->pdev_path); - rc = ERROR_FAIL; - goto out; - } - } - flexarray_append(back, "tapdisk-params"); - flexarray_append(back, GCSPRINTF("%s:%s", - libxl__device_disk_string_of_format(disk->format), - disk->pdev_path)); - - /* tap backends with scripts are rejected by - * libxl__device_disk_set_backend */ - assert(!disk->script); - - /* now create a phy device to export the device to the guest */ - goto do_backend_phy; + LOG(ERROR, "blktap is not supported"); + rc = ERROR_FAIL; + goto out; case LIBXL_DISK_BACKEND_QDISK: flexarray_append(back, "params"); flexarray_append(back, GCSPRINTF("%s:%s", diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 2f19786bdd..f4fc96415d 100644 --- a/tools/libxl/libxl_dm.c +++ b/tools/libxl/libxl_dm.c @@ -1812,20 +1812,9 @@ static int libxl__build_device_model_args_new(libxl__gc *gc, continue; } - /* - * We can't call libxl__blktap_devpath from - * libxl__device_disk_find_local_path for now because - * the bootloader is called before the disks are set - * up, so this function would set up a blktap node, - * but there's no TAP tear-down on error conditions in - * the bootloader path. - */ - if (disks[i].backend == LIBXL_DISK_BACKEND_TAP) - target_path = libxl__blktap_devpath(gc, disks[i].pdev_path, - disks[i].format); - else - target_path = libxl__device_disk_find_local_path(gc, - guest_domid, &disks[i], true); + assert(disks[i].backend != LIBXL_DISK_BACKEND_TAP); + target_path = libxl__device_disk_find_local_path(gc, + guest_domid, &disks[i], true); if (!target_path) { LOGD(WARN, guest_domid, "No way to get local access disk to image: %s\n" diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 44e0221284..3be5c644c1 100644 --- a/tools/libxl/libxl_internal.h +++ b/tools/libxl/libxl_internal.h @@ -1890,32 +1890,6 @@ struct libxl__cpuid_policy { char *policy[4]; }; -/* - * blktap2 support - */ - -/* libxl__blktap_enabled: - * return true if blktap/blktap2 support is available. - */ -_hidden int libxl__blktap_enabled(libxl__gc *gc); - -/* libxl__blktap_devpath: - * Argument: path and disk image as specified in config file. - * The type specifies whether this is aio, qcow, qcow2, etc. - * returns device path xenstore wants to have. returns NULL - * if no device corresponds to the disk. - */ -_hidden char *libxl__blktap_devpath(libxl__gc *gc, - const char *disk, - libxl_disk_format format); - -/* libxl__device_destroy_tapdisk: - * Destroys any tapdisk process associated with the backend represented - * by be_path. - * Always logs on failure. - */ -_hidden int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *params); - /* Calls poll() again - useful to check whether a signaled condition * is still true. Cannot fail. Returns currently-true revents. */ _hidden short libxl__fd_poll_recheck(libxl__egc *egc, int fd, short events); diff --git a/tools/libxl/libxl_noblktap2.c b/tools/libxl/libxl_noblktap2.c deleted file mode 100644 index 5a86ed1b6a..0000000000 --- a/tools/libxl/libxl_noblktap2.c +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (C) 2010 Advanced Micro Devices - * Author Christoph Egger <Christoph.Egger@amd.com> - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published - * by the Free Software Foundation; version 2.1 only. - * - * This program 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. - */ - -#include "libxl_osdeps.h" /* must come before any other headers */ - -#include "libxl_internal.h" - -int libxl__blktap_enabled(libxl__gc *gc) -{ - return 0; -} - -char *libxl__blktap_devpath(libxl__gc *gc, - const char *disk, - libxl_disk_format format) -{ - return NULL; -} - -int libxl__device_destroy_tapdisk(libxl__gc *gc, const char *params) -{ - return 0; -} - -/* - * Local variables: - * mode: C - * c-basic-offset: 4 - * indent-tabs-mode: nil - * End: - */ diff --git a/tools/libxl/xenlight.pc.in b/tools/libxl/xenlight.pc.in index 86c38a5634..c0f769fd20 100644 --- a/tools/libxl/xenlight.pc.in +++ b/tools/libxl/xenlight.pc.in @@ -9,4 +9,4 @@ Description: The Xenlight library for Xen hypervisor Version: @@version@@ Cflags: -I${includedir} Libs: @@libsflag@@${libdir} -lxenlight -Requires.private: xentoollog,xenevtchn,xencontrol,xenguest,xenstore,xenblktapctl +Requires.private: xentoollog,xenevtchn,xencontrol,xenguest,xenstore diff --git a/tools/xenstore/hashtable.c b/tools/xenstore/hashtable.c index 0ba1d552f1..394b1cf9d0 100644 --- a/tools/xenstore/hashtable.c +++ b/tools/xenstore/hashtable.c @@ -1,10 +1,5 @@ /* Copyright (C) 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */ -/* - * There are duplicates of this code in: - * - tools/blktap2/drivers/hashtable.c - */ - #include "hashtable.h" #include "hashtable_private.h" #include <stdlib.h> diff --git a/tools/xenstore/hashtable.h b/tools/xenstore/hashtable.h index 4d6822354e..b90781abd4 100644 --- a/tools/xenstore/hashtable.h +++ b/tools/xenstore/hashtable.h @@ -1,10 +1,5 @@ /* Copyright (C) 2002 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */ -/* - * There are duplicates of this code in: - * - tools/blktap2/drivers/hashtable.h - */ - #ifndef __HASHTABLE_CWC22_H__ #define __HASHTABLE_CWC22_H__ diff --git a/tools/xenstore/hashtable_private.h b/tools/xenstore/hashtable_private.h index a08559d5df..3e95f60057 100644 --- a/tools/xenstore/hashtable_private.h +++ b/tools/xenstore/hashtable_private.h @@ -1,10 +1,5 @@ /* Copyright (C) 2002, 2004 Christopher Clark <firstname.lastname@cl.cam.ac.uk> */ -/* - * There are duplicates of this code in: - * - tools/blktap2/drivers/hashtable_private.h - */ - #ifndef __HASHTABLE_PRIVATE_CWC22_H__ #define __HASHTABLE_PRIVATE_CWC22_H__ -- 2.20.1 _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
next prev parent reply other threads:[~2019-05-14 10:30 UTC|newest] Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-05-14 10:30 [PATCH 0/2] Drop blktap2 from xen Wei Liu 2019-05-14 10:30 ` [Xen-devel] " Wei Liu 2019-05-14 10:30 ` Wei Liu [this message] 2019-05-14 10:30 ` [Xen-devel] [PATCH 1/2] tools: remove blktap2 related code and documentation Wei Liu 2019-05-14 11:35 ` Jan Beulich 2019-05-14 11:35 ` [Xen-devel] " Jan Beulich 2019-05-14 11:39 ` Wei Liu 2019-05-14 11:39 ` [Xen-devel] " Wei Liu 2019-05-14 11:52 ` Jan Beulich 2019-05-14 11:52 ` [Xen-devel] " Jan Beulich 2019-05-14 10:30 ` [PATCH 2/2] Drop blktap2 Wei Liu 2019-05-14 10:30 ` [Xen-devel] " Wei Liu 2019-05-15 14:14 ` [PATCH 0/2] Drop blktap2 from xen Ian Jackson 2019-05-15 14:14 ` [Xen-devel] " Ian Jackson
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190514103030.8393-2-wei.liu2@citrix.com \ --to=wei.liu2@citrix.com \ --cc=George.Dunlap@eu.citrix.com \ --cc=andrew.cooper3@citrix.com \ --cc=ian.jackson@eu.citrix.com \ --cc=jbeulich@suse.com \ --cc=julien.grall@arm.com \ --cc=konrad.wilk@oracle.com \ --cc=sstabellini@kernel.org \ --cc=tim@xen.org \ --cc=xen-devel@lists.xenproject.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.