Commit e27d5b48 authored by Peter Maydell's avatar Peter Maydell
Browse files

Merge remote-tracking branch 'remotes/juanquintela/tags/pull-migration-pull-request' into staging



Migration pull request

# gpg: Signature made Fri 28 Feb 2020 09:21:31 GMT
# gpg:                using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [full]
# gpg:                 aka "Juan Quintela <quintela@trasno.org>" [full]
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03  4B82 F487 EF18 5872 D723

* remotes/juanquintela/tags/pull-migration-pull-request:
  savevm: Don't call colo_init_ram_cache twice
  migration/colo: wrap incoming checkpoint process into new helper
  migration: fix COLO broken caused by a previous commit
  migration/block: rename BLOCK_SIZE macro
  migration/savevm: release gslist after dump_vmstate_json
  test-vmstate: Fix memleaks in test_load_qlist
  migration/vmstate: Remove redundant statement in vmstate_save_state_v()
  multifd: Add zstd compression multifd support
  multifd: Add multifd-zstd-level parameter
  configure: Enable test and libs for zstd
  multifd: Add zlib compression multifd support
  multifd: Add multifd-zlib-level parameter
  multifd: Make no compression operations into its own structure
  migration: Add support for modules
  multifd: Add multifd-compression parameter

Signed-off-by: default avatarPeter Maydell <peter.maydell@linaro.org>
parents c12d4b60 f51d0b41
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -21,6 +21,7 @@ build-system2:
 script:
 - apt-get install -y -qq libsdl2-dev libgcrypt-dev libbrlapi-dev libaio-dev
      libfdt-dev liblzo2-dev librdmacm-dev libibverbs-dev libibumad-dev
      libzstd-dev
 - mkdir build
 - cd build
 - ../configure --enable-werror --target-list="tricore-softmmu unicore32-softmmu
+1 −0
Original line number Diff line number Diff line
@@ -49,6 +49,7 @@ addons:
      - libusb-1.0-0-dev
      - libvdeplug-dev
      - libvte-2.91-dev
      - libzstd-dev
      - sparse
      - uuid-dev
      - gcovr
+30 −0
Original line number Diff line number Diff line
@@ -449,6 +449,7 @@ lzo=""
snappy=""
bzip2=""
lzfse=""
zstd=""
guest_agent=""
guest_agent_with_vss="no"
guest_agent_ntddscsi="no"
@@ -1371,6 +1372,10 @@ for opt do
  ;;
  --disable-lzfse) lzfse="no"
  ;;
  --disable-zstd) zstd="no"
  ;;
  --enable-zstd) zstd="yes"
  ;;
  --enable-guest-agent) guest_agent="yes"
  ;;
  --disable-guest-agent) guest_agent="no"
@@ -1829,6 +1834,8 @@ disabled with --disable-FEATURE, default is enabled if available:
                  (for reading bzip2-compressed dmg images)
  lzfse           support of lzfse compression library
                  (for reading lzfse-compressed dmg images)
  zstd            support for zstd compression library
                  (for migration compression)
  seccomp         seccomp support
  coroutine-pool  coroutine freelist (better performance)
  glusterfs       GlusterFS backend
@@ -2453,6 +2460,24 @@ EOF
    fi
fi

##########################################
# zstd check

if test "$zstd" != "no" ; then
    if $pkg_config --exist libzstd ; then
        zstd_cflags="$($pkg_config --cflags libzstd)"
        zstd_libs="$($pkg_config --libs libzstd)"
        LIBS="$zstd_libs $LIBS"
        QEMU_CFLAGS="$QEMU_CFLAGS $zstd_cflags"
        zstd="yes"
    else
        if test "$zstd" = "yes" ; then
            feature_not_found "libzstd" "Install libzstd devel"
        fi
        zstd="no"
    fi
fi

##########################################
# libseccomp check

@@ -6668,6 +6693,7 @@ echo "lzo support $lzo"
echo "snappy support    $snappy"
echo "bzip2 support     $bzip2"
echo "lzfse support     $lzfse"
echo "zstd support      $zstd"
echo "NUMA host support $numa"
echo "libxml2           $libxml2"
echo "tcmalloc support  $tcmalloc"
@@ -7242,6 +7268,10 @@ if test "$lzfse" = "yes" ; then
  echo "LZFSE_LIBS=-llzfse" >> $config_host_mak
fi

if test "$zstd" = "yes" ; then
  echo "CONFIG_ZSTD=y" >> $config_host_mak
fi

if test "$libiscsi" = "yes" ; then
  echo "CONFIG_LIBISCSI=m" >> $config_host_mak
  echo "LIBISCSI_CFLAGS=$libiscsi_cflags" >> $config_host_mak
+13 −0
Original line number Diff line number Diff line
@@ -8,6 +8,7 @@
#include "qapi/qmp/qerror.h"
#include "qemu/ctype.h"
#include "qemu/error-report.h"
#include "qapi/qapi-types-migration.h"
#include "hw/block/block.h"
#include "net/hub.h"
#include "qapi/visitor.h"
@@ -639,6 +640,18 @@ const PropertyInfo qdev_prop_fdc_drive_type = {
    .set_default_value = set_default_value_enum,
};

/* --- MultiFDCompression --- */

const PropertyInfo qdev_prop_multifd_compression = {
    .name = "MultiFDCompression",
    .description = "multifd_compression values, "
                   "none/zlib/zstd",
    .enum_table = &MultiFDCompression_lookup,
    .get = get_enum,
    .set = set_enum,
    .set_default_value = set_default_value_enum,
};

/* --- pci address --- */

/*
+4 −0
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ extern const PropertyInfo qdev_prop_chr;
extern const PropertyInfo qdev_prop_tpm;
extern const PropertyInfo qdev_prop_macaddr;
extern const PropertyInfo qdev_prop_on_off_auto;
extern const PropertyInfo qdev_prop_multifd_compression;
extern const PropertyInfo qdev_prop_losttickpolicy;
extern const PropertyInfo qdev_prop_blockdev_on_error;
extern const PropertyInfo qdev_prop_bios_chs_trans;
@@ -184,6 +185,9 @@ extern const PropertyInfo qdev_prop_pcie_link_width;
    DEFINE_PROP(_n, _s, _f, qdev_prop_macaddr, MACAddr)
#define DEFINE_PROP_ON_OFF_AUTO(_n, _s, _f, _d) \
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_on_off_auto, OnOffAuto)
#define DEFINE_PROP_MULTIFD_COMPRESSION(_n, _s, _f, _d) \
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_multifd_compression, \
                       MultiFDCompression)
#define DEFINE_PROP_LOSTTICKPOLICY(_n, _s, _f, _d) \
    DEFINE_PROP_SIGNED(_n, _s, _f, _d, qdev_prop_losttickpolicy, \
                        LostTickPolicy)
Loading