From d12466216b5afebe0ceafe3fe4534c61d04067b1 Mon Sep 17 00:00:00 2001 From: Wang Xu Date: Wed, 13 Dec 2017 15:24:21 +0800 Subject: [PATCH] fix xen build update vendor to hyperhq/runv#646 fix #678, and possibly fix #690 Signed-off-by: Wang Xu --- cmd/hyperd/Makefile.am | 8 +- configure.ac | 12 ++ .../hyperhq/runv/hypervisor/xen/xen.go | 2 +- .../hyperhq/runv/hypervisor/xenpv/xenpv.go | 2 +- .../hypervisor/xenpv/xenpv_unsupported.go | 2 +- .../runv/lib/runvxenlight/xenlight-runv.go | 14 ++- .../hyperhq/runv/lib/runvxenlight/xenlight.go | 2 + vendor/vendor.json | 114 +++++++++--------- 8 files changed, 94 insertions(+), 62 deletions(-) diff --git a/cmd/hyperd/Makefile.am b/cmd/hyperd/Makefile.am index 7dcac0f7..85418c25 100644 --- a/cmd/hyperd/Makefile.am +++ b/cmd/hyperd/Makefile.am @@ -4,6 +4,12 @@ else XEN_BUILD_TAG= endif +if WITH_XEN490 +XEN490_BUILD_TAG=with_xen490 +else +XEN490_BUILD_TAG= +endif + if WITH_LIBVIRT LIBVIRT_BUILD_TAG=with_libvirt else @@ -20,7 +26,7 @@ else BTRFS_BUILD_TAG=exclude_graphdriver_btrfs endif -HYPER_BULD_TAGS=$(XEN_BUILD_TAG) $(LIBVIRT_BUILD_TAG) $(BTRFS_BUILD_TAG) libdm_no_deferred_remove +HYPER_BULD_TAGS=$(XEN_BUILD_TAG) $(XEN490_BUILD_TAG) $(LIBVIRT_BUILD_TAG) $(BTRFS_BUILD_TAG) libdm_no_deferred_remove all-local: build-hyperd clean-local: diff --git a/configure.ac b/configure.ac index 7c3c3940..5986cbba 100644 --- a/configure.ac +++ b/configure.ac @@ -90,11 +90,23 @@ if test "x$with_xen" != "xno" ; then fi fi +XEN_REQUIRED="4.5.0" +XENPV_REQUIRED="4.9.0" + +if test "$with_xen" = yes; then + PKG_CHECK_MODULES([xen_4_5], [xenlight >= $XEN_REQUIRED], [with_xen=yes], [with_xen=no]) + PKG_CHECK_MODULES([xen_4_9], [xenlight >= $XENPV_REQUIRED], [with_xen490=yes], [with_xen490=no]) +fi + if test "x$with_xen" != "xno" ; then AC_DEFINE_UNQUOTED([WITH_XEN], 1, [run hyperd with xen]) fi +if test "$with_xen490" = yes ; then + AC_DEFINE_UNQUOTED([WITH_XEN490], 1, [run hyperd with xen 4.9 or above]) +fi AM_CONDITIONAL([WITH_XEN], [test "x$with_xen" == "xyes"]) +AM_CONDITIONAL([WITH_XEN490], [test "x$with_xen490" == "xyes"]) AC_ARG_WITH([btrfs], [AS_HELP_STRING([--without-btrfs], diff --git a/vendor/github.com/hyperhq/runv/hypervisor/xen/xen.go b/vendor/github.com/hyperhq/runv/hypervisor/xen/xen.go index 88c06ad5..fef58382 100644 --- a/vendor/github.com/hyperhq/runv/hypervisor/xen/xen.go +++ b/vendor/github.com/hyperhq/runv/hypervisor/xen/xen.go @@ -255,7 +255,7 @@ func (xc *XenContext) AddNic(ctx *hypervisor.VmContext, host *hypervisor.HostNic glog.V(1).Infof("add network for %d - ip: %s, br: %s, gw: %s, dev: %s, hw: %s", xc.domId, guest.Ipaddr, host.Bridge, host.Bridge, dev, hw.String()) - res := HyperxlNicAdd(xc.driver.Ctx, (uint32)(xc.domId), guest.Ipaddr[0], host.Bridge, host.Bridge, dev, []byte(hw)) + res := HyperxlNicAdd(xc.driver.Ctx, (uint32)(xc.domId), guest.Ipaddr, host.Bridge, host.Bridge, dev, []byte(hw)) if res != 0 { glog.V(1).Infof("nic %s insert succeeded [faked] ", guest.Device) result <- callback diff --git a/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv.go b/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv.go index 201f2be4..78965716 100644 --- a/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv.go +++ b/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv.go @@ -1,4 +1,4 @@ -// +build linux,with_xen +// +build linux,with_xen490 package xenpv diff --git a/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv_unsupported.go b/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv_unsupported.go index e4fd67a2..75127e53 100644 --- a/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv_unsupported.go +++ b/vendor/github.com/hyperhq/runv/hypervisor/xenpv/xenpv_unsupported.go @@ -1,4 +1,4 @@ -// +build !with_xen +// +build !with_xen490 package xenpv diff --git a/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight-runv.go b/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight-runv.go index 1c8db959..bd541e43 100644 --- a/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight-runv.go +++ b/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight-runv.go @@ -1,4 +1,4 @@ -// +build linux,with_xen +// +build linux,with_xen490 /* * @@ -54,6 +54,8 @@ static int runvxl_domain_create_new(libxl_ctx *ctx, runvxl_domain_config *config libxl_domain_config_init(&d_config); d_config.num_p9s = 1; +#ifndef LIBXL_HAVE_P9S +//this flag is introduce since tag 4.10.0-rc1, introduce a field rename d_config.p9 = malloc(sizeof(libxl_device_p9)); if (d_config.p9 == NULL) { return -1; @@ -61,6 +63,16 @@ static int runvxl_domain_create_new(libxl_ctx *ctx, runvxl_domain_config *config d_config.p9->tag = config->p9_tag; d_config.p9->path = config->p9_path; d_config.p9->security_model = "none"; +#else //LIBXL_HAVE_P9S + d_config.p9s = malloc(sizeof(libxl_device_p9)); + if (d_config.p9s == NULL) { + return -1; + } + d_config.p9s->tag = config->p9_tag; + d_config.p9s->path = config->p9_path; + d_config.p9s->security_model = "none"; +#endif //LIBXL_HAVE_P9S + d_config.num_channels = 2; d_config.channels = malloc(sizeof(libxl_device_channel) * 2); diff --git a/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight.go b/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight.go index 9c37e59e..f98bd812 100644 --- a/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight.go +++ b/vendor/github.com/hyperhq/runv/lib/runvxenlight/xenlight.go @@ -1,3 +1,5 @@ +// +build linux,with_xen490 + /* * Copyright (C) 2016 George W. Dunlap, Citrix Systems UK Ltd * diff --git a/vendor/vendor.json b/vendor/vendor.json index 82e92a11..f54ce2fd 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -1568,186 +1568,186 @@ "checksumSHA1": "2rOMU1jsBgWtKRLFh+tEYa0vaL8=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/api", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "wFyDRfp6kJA2BShtXVWPeGyj+Ps=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/driverloader", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "aHQAAMaJml761CWlShRPE0Mwml0=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "3fMRgjly6yNBVu+dK3+VAkA2Ijg=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory/base", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "J0IhP6X/2ANAFulzfrZS3iPvlHE=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory/cache", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "UHG4MbKQ0dmsey/0GCGJ1mKZXGs=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory/direct", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "bGB2GrgGdR8tyqF7GM8t48txGrc=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory/multi", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "+8eZZ1W/dXadDmGjxRlMVyWgBt0=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory/single", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "QZkg1cUoP5dQS+rUuxdK5i/ODpc=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/factory/template", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "8rV+9nt3qhy4XEpGjbRmEtr2la0=", "path": "github.com/hyperhq/runv/hyperstart/api/grpc", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "sJ5xs77rBgllVL/MD/bvI+b7/h4=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hyperstart/api/json", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "JsbbJ+k0/ea1iGwAen6FTk/X+K4=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hyperstart/libhyperstart", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "GlObnSRNDebB/k2EGy41DJtaBxo=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "DaLJKlWX3iOBTKB3MkUkjpAukjQ=", "path": "github.com/hyperhq/runv/hypervisor/kvmtool", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "okA/7FuYR2LuVKwcL9CqPA3KG24=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor/libvirt", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "0F/kCIv6AEoMgspdc8M2HQ/E9kI=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor/network", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "YAUAfc2PYReSINQp6X3xClJJpgs=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor/network/ipallocator", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "HyVxv1kfjeTv7d8Hdp+SeKilCNM=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor/qemu", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "VmDDbCJSPMIWY5lXZpnvhDg37ZU=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor/types", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { - "checksumSHA1": "J/CY70dnKlroX0gdp+tsm03Js74=", + "checksumSHA1": "XRLDHlpB5V/bio+COzUlE5koWOc=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/hypervisor/xen", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { - "checksumSHA1": "mAwQvTLUddHCvhQqcjZL7B6LLAQ=", + "checksumSHA1": "lNqKiyZqBLPCiMEn0YPqenJNxmE=", "path": "github.com/hyperhq/runv/hypervisor/xenpv", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { - "checksumSHA1": "M1iIBMiWpEau3FlsFo7cLaFnrzw=", + "checksumSHA1": "MCx6951ORoC7keC+BCd0lKz043o=", "path": "github.com/hyperhq/runv/lib/runvxenlight", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "d0GuiUdHWWWsd8l8cfzAntU8AYw=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/lib/telnet", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "EG1PoTyBE8u4bZvfCt7wKvqc6bU=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/lib/term", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "mH0iqGEPUDRfFqRvSwtB4/gmPek=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/lib/utils", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "qVEK/HSC/OfWvcecGBs5N7BPlvg=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/lib/vsock", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "checksumSHA1": "QM2n1Mp0ZueSkAuMQvOF2kih9L8=", "comment": "v0.8.0-21-g2ff5bd5", "path": "github.com/hyperhq/runv/template", - "revision": "b761a8c0aba5abc5aa672a327d97d001c17f62fa", - "revisionTime": "2017-11-09T04:03:45Z" + "revision": "d5f31bde39e8c8f2de5d176421b7b18313828345", + "revisionTime": "2017-12-13T06:53:04Z" }, { "comment": "0.2.2-6-g50d4dbd",