[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [RFC PATCH] tools: remove blktap2 related code and documentation



On 15/08/16 11:50, Wei Liu wrote:
> Blktap2 is effectively dead code for a few years.
> 
> Notable changes in this patch:
> 
> 0. Unhook blktap2 from build system
> 1. Now libxl no longer supports TAP ask backend, appropriate assertions
>    are added and some code paths now return ERROR_FAIL
> 2. Tap is no longer a supported backend in doc
> 3. Remove relevant entries in MAINTAINERS
> 
> A patch to actually remove blktap2 directory will come later.
> 
> Signed-off-by: Wei Liu <wei.liu2@xxxxxxxxxx>

Oh right -- I'd actually forgotten that we've had the build disabled for
several releases now.

Acked-by: George Dunlap <george.dunlap@xxxxxxxxxx>

> ---
> Compile-test only at this stage.
> 
> Ross, do you have any objection for this? I haven't seen update from the
> joint blktap2 maintenance for a few months.
> 
> Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
> Cc: Jan Beulich <jbeulich@xxxxxxxx>
> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> Cc: Tim Deegan <tim@xxxxxxx>
> Cc: Shriram Rajagopalan <rshriram@xxxxxxxxx>
> Cc: Yang Hongyang <imhy.yang@xxxxxxxxx>
> Cc: Ross Philipson <ross.philipson@xxxxxxxxx>
> Cc: Lars Kurth <lars.kurth@xxxxxxxxxx>
> ---
>  .gitignore                          | 14 ------
>  INSTALL                             |  4 --
>  MAINTAINERS                         |  2 -
>  config/Tools.mk.in                  |  1 -
>  docs/misc/xl-disk-configuration.txt |  2 +-
>  tools/Makefile                      |  1 -
>  tools/Rules.mk                      | 17 +------
>  tools/config.h.in                   |  6 ---
>  tools/configure                     | 83 --------------------------------
>  tools/configure.ac                  | 22 ---------
>  tools/libxl/Makefile                |  8 +---
>  tools/libxl/check-xl-disk-parse     |  2 +-
>  tools/libxl/libxl.c                 | 25 ++--------
>  tools/libxl/libxl_blktap2.c         | 94 
> -------------------------------------
>  tools/libxl/libxl_device.c          | 32 ++-----------
>  tools/libxl/libxl_dm.c              | 17 ++-----
>  tools/libxl/libxl_internal.h        | 19 --------
>  tools/libxl/libxl_noblktap2.c       | 42 -----------------
>  tools/xenstore/hashtable.c          |  5 --
>  tools/xenstore/hashtable.h          |  5 --
>  tools/xenstore/hashtable_private.h  |  5 --
>  21 files changed, 13 insertions(+), 393 deletions(-)
>  delete mode 100644 tools/libxl/libxl_blktap2.c
>  delete mode 100644 tools/libxl/libxl_noblktap2.c
> 
> diff --git a/.gitignore b/.gitignore
> index d193820..ea27777 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -97,19 +97,6 @@ tools/libs/evtchn/headers.chk
>  tools/libs/gnttab/headers.chk
>  tools/libs/call/headers.chk
>  tools/libs/foreignmemory/headers.chk
> -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
> @@ -327,7 +314,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/INSTALL b/INSTALL
> index 9759354..3b255c7 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 97720a8..d54795b 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -322,8 +322,6 @@ M:        Shriram Rajagopalan <rshriram@xxxxxxxxx>
>  M:   Yang Hongyang <imhy.yang@xxxxxxxxx>
>  S:   Maintained
>  F:   docs/README.remus
> -F:   tools/blktap2/drivers/block-remus.c
> -F:   tools/blktap2/drivers/hashtable*
>  F:   tools/libxl/libxl_remus_*
>  F:   tools/libxl/libxl_netbuffer.c
>  F:   tools/libxl/libxl_nonetbuffer.c
> diff --git a/config/Tools.mk.in b/config/Tools.mk.in
> index 0f79f4e..511406c 100644
> --- a/config/Tools.mk.in
> +++ b/config/Tools.mk.in
> @@ -56,7 +56,6 @@ CONFIG_ROMBIOS      := @rombios@
>  CONFIG_SEABIOS      := @seabios@
>  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/misc/xl-disk-configuration.txt 
> b/docs/misc/xl-disk-configuration.txt
> index b3402bc..2e9345c 100644
> --- a/docs/misc/xl-disk-configuration.txt
> +++ b/docs/misc/xl-disk-configuration.txt
> @@ -155,7 +155,7 @@ backendtype=<backend-type>
>  --------------------------
>  
>  Description:           Specifies the backend implementation to use
> -Supported values:      phy, tap, qdisk
> +Supported values:      phy, qdisk
>  Mandatory:             No
>  Default value:         Automatically determine which backend to use.
>  
> diff --git a/tools/Makefile b/tools/Makefile
> index 71515b4..b8fe2ce 100644
> --- a/tools/Makefile
> +++ b/tools/Makefile
> @@ -17,7 +17,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 5a80fec..bbeef14 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -19,7 +19,6 @@ XEN_LIBXC          = $(XEN_ROOT)/tools/libxc
>  XEN_XENLIGHT       = $(XEN_ROOT)/tools/libxl
>  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)
> @@ -143,22 +142,8 @@ CFLAGS += -O0 -g3
>  PY_CFLAGS += $(PY_NOOPT_CFLAGS)
>  endif
>  
> -LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
> -
> -ifeq ($(LIBXL_BLKTAP),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  =
> -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 478a2cc..1b2df2e 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 `crypto' library (-lcrypto). */
>  #undef HAVE_LIBCRYPTO
>  
> diff --git a/tools/configure b/tools/configure
> index 51f16c5..53b9a33 100755
> --- a/tools/configure
> +++ b/tools/configure
> @@ -705,7 +705,6 @@ BCC
>  LD86
>  AS86
>  qemu_traditional
> -blktap2
>  LINUX_BACKEND_MODULES
>  seabios
>  ovmf
> @@ -804,7 +803,6 @@ enable_xsmpolicy
>  enable_ovmf
>  enable_seabios
>  with_linux_backend_modules
> -enable_blktap2
>  enable_qemu_traditional
>  enable_rombios
>  with_system_qemu
> @@ -1477,8 +1475,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 on for Linux, otherwise
> -                          off)
>    --enable-qemu-traditional
>                            Enable qemu traditional device model, (DEFAULT is 
> on
>                            for Linux or NetBSD x86, otherwise off)
> @@ -4161,7 +4157,6 @@ xen-scsibk
>  usbbk
>  pciback
>  xen-acpi-processor
> -blktap2
>  "
>  ;;
>  *)
> @@ -4173,33 +4168,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
> -
> -    case "$host_os" in
> -        linux*)
> -           enable_blktap2="yes";;
> -        *) enable_blktap2="no";;
> -    esac
> -
> -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;
> @@ -8290,57 +8258,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
>  
>  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for MD5 in -lcrypto" >&5
>  $as_echo_n "checking for MD5 in -lcrypto... " >&6; }
> diff --git a/tools/configure.ac b/tools/configure.ac
> index 3a4abb5..1cfbcaf 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -108,7 +108,6 @@ xen-scsibk
>  usbbk
>  pciback
>  xen-acpi-processor
> -blktap2
>  "
>  ;;
>  *)
> @@ -118,24 +117,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 on for Linux, otherwise 
> off)]),,[
> -    case "$host_os" in
> -        linux*)
> -           enable_blktap2="yes";;
> -        *) enable_blktap2="no";;
> -    esac
> -])
> -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)]),,[
> @@ -357,9 +338,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)
>  AC_CHECK_LIB([crypto], [MD5], [], [AC_MSG_ERROR([Could not find libcrypto])])
>  AX_CHECK_EXTFS
> diff --git a/tools/libxl/Makefile b/tools/libxl/Makefile
> index 14a1a8e..6994c58 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) $(PTYFUNCS_LIBS) $(LIBUUID_LIBS)
> +LIBXL_LIBS = $(LDLIBS_libxentoollog) $(LDLIBS_libxenevtchn) 
> $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest) $(LDLIBS_libxenstore) 
> $(PTYFUNCS_LIBS) $(LIBUUID_LIBS)
>  ifeq ($(CONFIG_LIBNL),y)
>  LIBXL_LIBS += $(LIBNL3_LIBS)
>  endif
> @@ -30,7 +30,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
> @@ -46,11 +45,6 @@ LIBXL_LIBS += $(LIBXL_LIBS-y)
>  LIBXLU_LIBS = $(LDLIBS_libxenlight)
>  
>  LIBXL_OBJS-y = osdeps.o libxl_paths.o libxl_bootloader.o flexarray.o
> -ifeq ($(LIBXL_BLKTAP),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 03572e4..643f4f4 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.c b/tools/libxl/libxl.c
> index 6a50e49..577ed35 100644
> --- a/tools/libxl/libxl.c
> +++ b/tools/libxl/libxl.c
> @@ -2218,7 +2218,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);
>  
> @@ -2230,27 +2229,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) {
> -                        LOG(ERROR, "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_blktap2.c b/tools/libxl/libxl_blktap2.c
> deleted file mode 100644
> index 5c9a0a2..0000000
> --- a/tools/libxl/libxl_blktap2.c
> +++ /dev/null
> @@ -1,94 +0,0 @@
> -/*
> - * Copyright (C) 2010      Advanced Micro Devices
> - * Author Christoph Egger <Christoph.Egger@xxxxxxx>
> - *
> - * 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 dbf157d..9c77b62 100644
> --- a/tools/libxl/libxl_device.c
> +++ b/tools/libxl/libxl_device.c
> @@ -271,26 +271,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 supported", a->disk->vdev);
> +        return 0;
>  
>      case LIBXL_DISK_BACKEND_QDISK:
>          if (a->disk->script) goto bad_script;
> @@ -682,8 +665,6 @@ int libxl__device_destroy(libxl__gc *gc, libxl__device 
> *dev)
>      const char *be_path = libxl__device_backend_path(gc, dev);
>      const char *fe_path = libxl__device_frontend_path(gc, dev);
>      const char *libxl_path = libxl__device_libxl_path(gc, dev);
> -    const char *tapdisk_path = GCSPRINTF("%s/%s", be_path, "tapdisk-params");
> -    const char *tapdisk_params;
>      xs_transaction_t t = 0;
>      int rc;
>      uint32_t domid;
> @@ -695,10 +676,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 */
> -        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
> @@ -720,9 +697,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_dm.c b/tools/libxl/libxl_dm.c
> index e3bf28f..1da956e 100644
> --- a/tools/libxl/libxl_dm.c
> +++ b/tools/libxl/libxl_dm.c
> @@ -1362,20 +1362,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) {
>                      LOG(WARN, "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 1222ffa..51d505f 100644
> --- a/tools/libxl/libxl_internal.h
> +++ b/tools/libxl/libxl_internal.h
> @@ -1705,25 +1705,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.
> diff --git a/tools/libxl/libxl_noblktap2.c b/tools/libxl/libxl_noblktap2.c
> deleted file mode 100644
> index 5a86ed1..0000000
> --- a/tools/libxl/libxl_noblktap2.c
> +++ /dev/null
> @@ -1,42 +0,0 @@
> -/*
> - * Copyright (C) 2010      Advanced Micro Devices
> - * Author Christoph Egger <Christoph.Egger@xxxxxxx>
> - *
> - * 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/xenstore/hashtable.c b/tools/xenstore/hashtable.c
> index 0ba1d55..394b1cf 100644
> --- a/tools/xenstore/hashtable.c
> +++ b/tools/xenstore/hashtable.c
> @@ -1,10 +1,5 @@
>  /* Copyright (C) 2004 Christopher Clark <firstname.lastname@xxxxxxxxxxxx> */
>  
> -/*
> - * 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 4d68223..b90781a 100644
> --- a/tools/xenstore/hashtable.h
> +++ b/tools/xenstore/hashtable.h
> @@ -1,10 +1,5 @@
>  /* Copyright (C) 2002 Christopher Clark <firstname.lastname@xxxxxxxxxxxx> */
>  
> -/*
> - * 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 a08559d..3e95f60 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@xxxxxxxxxxxx> */
>  
> -/*
> - * There are duplicates of this code in:
> - *  - tools/blktap2/drivers/hashtable_private.h
> - */
> -
>  #ifndef __HASHTABLE_PRIVATE_CWC22_H__
>  #define __HASHTABLE_PRIVATE_CWC22_H__
>  
> 


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.