mbox

[PULL,00/40] Migration 20231102 patches

Message ID 20231102114054.44360-1-quintela@redhat.com
State New
Headers show

Pull-request

https://gitlab.com/juan.quintela/qemu.git tags/migration-20231102-pull-request

Message

Juan Quintela Nov. 2, 2023, 11:40 a.m. UTC
The following changes since commit 6c9ae1ce82b65faa3f266fd103729878cf11e07e:

  Merge tag 'for-upstream' of https://repo.or.cz/qemu/kevin into staging (2023-11-01 06:58:11 +0900)

are available in the Git repository at:

  https://gitlab.com/juan.quintela/qemu.git tags/migration-20231102-pull-request

for you to fetch changes up to 8e3766eefbb4036cbc280c1f1a0d28537929f7fb:

  migration: modify test_multifd_tcp_none() to use new QAPI syntax. (2023-11-02 11:35:04 +0100)

----------------------------------------------------------------
Migration Pull request (20231102)

Hi

In this pull request:

- migration reboot mode (steve)
  * I disabled the test because our CI don't like programs using so
    much shared memory.  Searching for a fix.
- test for postcopy recover (fabiano)
- MigrateAddress QAPI (het)
- better return path error handling (peter)
- traces for downtime (peter)
- vmstate_register() check for duplicates (juan)
  thomas find better solutions for s390x and ipmi.
  now also works on s390x

Please, apply.

----------------------------------------------------------------

Fabiano Rosas (2):
  tests/migration-test: Add a test for postcopy hangs during RECOVER
  migration: Convert the file backend to the new QAPI syntax

Het Gala (10):
  migration: New QAPI type 'MigrateAddress'
  migration: convert migration 'uri' into 'MigrateAddress'
  migration: convert socket backend to accept MigrateAddress
  migration: convert rdma backend to accept MigrateAddress
  migration: convert exec backend to accept MigrateAddress.
  migration: New migrate and migrate-incoming argument 'channels'
  migration: modify migration_channels_and_uri_compatible() for new QAPI
    syntax
  migration: Implement MigrateChannelList to qmp migration flow.
  migration: Implement MigrateChannelList to hmp migration flow.
  migration: modify test_multifd_tcp_none() to use new QAPI syntax.

Juan Quintela (9):
  migration: Create vmstate_register_any()
  migration: Use vmstate_register_any()
  migration: Use vmstate_register_any() for isa-ide
  migration: Use VMSTATE_INSTANCE_ID_ANY for slirp
  migration: Hack to maintain backwards compatibility for ppc
  migration: Improve example and documentation of vmstate_register()
  migration: Use vmstate_register_any() for audio
  migration: Use vmstate_register_any() for eeprom93xx
  migration: Use vmstate_register_any() for vmware_vga

Peter Xu (9):
  migration: Check in savevm_state_handler_insert for dups
  migration: Set downtime_start even for postcopy
  migration: Add migration_downtime_start|end() helpers
  migration: Add per vmstate downtime tracepoints
  migration: migration_stop_vm() helper
  migration: Add tracepoints for downtime checkpoints
  migration: Refactor error handling in source return path
  migration: Allow network to fail even during recovery
  migration: Change ram_dirty_bitmap_reload() retval to bool

Steve Sistare (6):
  migration: mode parameter
  migration: per-mode blockers
  cpr: relax blockdev migration blockers
  cpr: relax vhost migration blockers
  cpr: reboot mode
  tests/qtest: migration: add reboot mode test

Thomas Huth (4):
  hw/ipmi: Don't call vmstate_register() from instance_init() functions
  hw/s390x/s390-skeys: Don't call register_savevm_live() during
    instance_init()
  hw/s390x/s390-stattrib: Simplify handling of the "migration-enabled"
    property
  hw/s390x/s390-stattrib: Don't call register_savevm_live() during
    instance_init()

 docs/devel/migration.rst            |  12 +-
 qapi/migration.json                 | 210 ++++++++++-
 include/hw/qdev-properties-system.h |   4 +
 include/migration/blocker.h         |  44 ++-
 include/migration/misc.h            |   1 +
 include/migration/vmstate.h         |  28 ++
 migration/exec.h                    |   8 +-
 migration/file.h                    |  10 +-
 migration/migration.h               |  14 +-
 migration/options.h                 |   1 +
 migration/qemu-file.h               |   1 +
 migration/ram.h                     |   5 +-
 migration/rdma.h                    |   6 +-
 migration/socket.h                  |   7 +-
 audio/audio.c                       |   2 +-
 backends/dbus-vmstate.c             |   3 +-
 backends/tpm/tpm_emulator.c         |   3 +-
 block/parallels.c                   |   2 +-
 block/qcow.c                        |   2 +-
 block/vdi.c                         |   2 +-
 block/vhdx.c                        |   2 +-
 block/vmdk.c                        |   2 +-
 block/vpc.c                         |   2 +-
 block/vvfat.c                       |   2 +-
 hw/core/qdev-properties-system.c    |  14 +
 hw/display/vmware_vga.c             |   2 +-
 hw/i2c/core.c                       |   2 +-
 hw/ide/isa.c                        |   2 +-
 hw/input/adb.c                      |   2 +-
 hw/input/ads7846.c                  |   2 +-
 hw/input/stellaris_input.c          |   3 +-
 hw/intc/xics.c                      |  18 +-
 hw/ipmi/ipmi_bmc_extern.c           |  29 +-
 hw/ipmi/isa_ipmi_bt.c               |  34 +-
 hw/ipmi/isa_ipmi_kcs.c              |  50 +--
 hw/net/eepro100.c                   |   3 +-
 hw/nvram/eeprom93xx.c               |   2 +-
 hw/pci/pci.c                        |   2 +-
 hw/ppc/spapr.c                      |  25 +-
 hw/ppc/spapr_nvdimm.c               |   3 +-
 hw/s390x/s390-skeys.c               |  36 +-
 hw/s390x/s390-stattrib.c            |  72 ++--
 hw/scsi/vhost-scsi.c                |   2 +-
 hw/timer/arm_timer.c                |   2 +-
 hw/virtio/vhost.c                   |   2 +-
 hw/virtio/virtio-mem.c              |   4 +-
 migration/exec.c                    |  74 ++--
 migration/file.c                    |  24 +-
 migration/migration-hmp-cmds.c      |  34 +-
 migration/migration.c               | 550 ++++++++++++++++++++--------
 migration/options.c                 |  21 ++
 migration/qemu-file.c               |   2 +-
 migration/ram.c                     |  61 +--
 migration/rdma.c                    |  33 +-
 migration/savevm.c                  |  95 ++++-
 migration/socket.c                  |  39 +-
 net/slirp.c                         |   5 +-
 stubs/migr-blocker.c                |  10 +
 system/vl.c                         |   2 +-
 tests/qtest/migration-test.c        | 150 +++++++-
 migration/trace-events              |   8 +-
 61 files changed, 1316 insertions(+), 476 deletions(-)

Comments

Stefan Hajnoczi Nov. 3, 2023, 3:23 a.m. UTC | #1
Applied, thanks.

Please update the changelog at https://wiki.qemu.org/ChangeLog/8.2 for any user-visible changes.