[PULL 00/43] Migration patches for 2026-04-23

Fabiano Rosas posted 43 patches 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260423191958.1440-1-farosas@suse.de
Maintainers: Peter Xu <peterx@redhat.com>, Fabiano Rosas <farosas@suse.de>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, John Snow <jsnow@redhat.com>, Kevin Wolf <kwolf@redhat.com>, Hanna Reitz <hreitz@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Daniel P. Berrangé" <berrange@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, "Alex Bennée" <alex.bennee@linaro.org>, Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>, Dmitry Osipenko <dmitry.osipenko@collabora.com>, "Michael S. Tsirkin" <mst@redhat.com>, Dmitry Fleytman <dmitry.fleytman@gmail.com>, Richard Henderson <richard.henderson@linaro.org>, Marcel Apfelbaum <marcel.apfelbaum@gmail.com>, Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>, Gautam Menghani <gautam@linux.ibm.com>, Glenn Miles <milesg@linux.ibm.com>, Nicholas Piggin <npiggin@gmail.com>, Harsh Prateek Bora <harshpb@linux.ibm.com>, Stefan Weil <sw@weilnetz.de>, Halil Pasic <pasic@linux.ibm.com>, Christian Borntraeger <borntraeger@linux.ibm.com>, Eric Farman <farman@linux.ibm.com>, Farhan Ali <alifm@linux.ibm.com>, Cornelia Huck <cohuck@redhat.com>, Matthew Rosato <mjrosato@linux.ibm.com>, Ilya Leoshkevich <iii@linux.ibm.com>, David Hildenbrand <david@kernel.org>, Mark Kanda <mark.kanda@oracle.com>, Ben Chaney <bchaney@akamai.com>, Manos Pitsidianakis <manos.pitsidianakis@linaro.org>, Cleber Rosa <crosa@redhat.com>, Peter Maydell <peter.maydell@linaro.org>, Chinmay Rath <rathc@linux.ibm.com>, Laurent Vivier <lvivier@redhat.com>
docs/devel/migration/main.rst          |   2 +-
hw/block/fdc.c                         |   2 +-
hw/core/qdev-properties-system.c       |   2 +-
hw/display/qxl.c                       |   4 +-
hw/display/vga.c                       |   2 +-
hw/display/virtio-gpu.c                |   2 +-
hw/display/vmware_vga.c                |   2 +-
hw/i386/vmmouse.c                      |   2 +-
hw/ide/ahci.c                          |   2 +-
hw/intc/openpic.c                      |   2 +-
hw/intc/spapr_xive.c                   |   2 +-
hw/intc/xics.c                         |   2 +-
hw/intc/xive.c                         |   2 +-
hw/nvram/eeprom93xx.c                  |   2 +-
hw/pci/pci.c                           |   2 +-
hw/pci/pcie_aer.c                      |   2 +-
hw/ppc/spapr_iommu.c                   |   2 +-
hw/ppc/spapr_pci.c                     |   7 +-
hw/ppc/spapr_vio.c                     |   4 +-
hw/s390x/css.c                         |  15 +-
hw/usb/hcd-uhci.c                      |   2 +-
include/hw/intc/riscv_aclint.h         |   6 +-
include/io/channel.h                   | 133 +++++
include/migration/cpr.h                |   2 +-
include/migration/vmstate.h            | 161 ++++--
io/channel.c                           | 139 ++++++
migration/cpr.c                        |  22 +-
migration/file.c                       |  23 +-
migration/qemu-file.c                  |  37 +-
migration/qemu-file.h                  |   2 +-
migration/ram.c                        |   6 +
migration/savevm.c                     | 136 ++++--
migration/trace-events                 |  30 +-
migration/vmstate-types.c              | 650 ++++++++++++-------------
migration/vmstate.c                    | 593 ++++++++++++++--------
rust/migration/src/migratable.rs       |   6 +-
rust/migration/src/vmstate.rs          |  12 +-
scripts/analyze-migration.py           |  22 +-
scripts/checkpatch.pl                  |   1 +
target/arm/machine.c                   |   4 +-
target/ppc/machine.c                   |   6 +-
tests/functional/migration.py          |   2 +-
tests/qtest/migration/file-tests.c     |  48 ++
tests/qtest/migration/migration-util.c |  10 +-
tests/qtest/migration/misc-tests.c     |  52 ++
tests/unit/test-io-channel-file.c      | 207 ++++++++
tests/unit/test-vmstate.c              |  90 +++-
47 files changed, 1712 insertions(+), 752 deletions(-)
[PULL 00/43] Migration patches for 2026-04-23
Posted by Fabiano Rosas 1 month ago
The following changes since commit bb230769b4d01de714bed686161ad39a8f4f3fd1:

  Merge tag 'ui-pull-request' of https://gitlab.com/marcandre.lureau/qemu into staging (2026-04-22 14:30:04 -0400)

are available in the Git repository at:

  https://gitlab.com/farosas/qemu.git tags/migration-20260423-pull-request

for you to fetch changes up to 78532838ab9edeaced231760693898614280cbb5:

  migration/qemu-file: drop incorrect const from qemu_get_buffer_at buf (2026-04-23 12:14:52 -0300)

----------------------------------------------------------------
Migration pull request

- Cleanups to internal vmstate APIs
- Cleanups to handling of vmstate flags
- New vmstate VMS_ARRAY_OF_POINTER_AUTO_ALLOC
- Fixes to:
  - functional exec test
  - leaks in file migration
  - mapped-ram migration input validation
  - programming errors in qemu-file and multifd
  - qtest leaks
- Additions to iochannel APIs:
  qio_channel_pread{v,}_all{,_eof}
  qio_channel_pwrite{v,}_all
- New migration qtest for capabilities validation
- Tweaks to documentation and checkpatch

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

Alexander Mikhalitsyn (1):
  tests/unit/test-vmstate: add tests for VMS_ARRAY_OF_POINTER_AUTO_ALLOC

Fabiano Rosas (3):
  checkpatch: Allow spaces after all coroutine annotations
  tests/functional: Make socat wait longer in migration exec test
  vmstate: Stop checking size for nullptr compression

Junjie Cao (7):
  io/channel: introduce qio_channel_pread{v, }_all{, _eof}()
  io/channel: introduce qio_channel_pwrite{v,}_all()
  migration/file: fix type mismatch and NULL deref in
    multifd_file_recv_data
  tests/unit: add pread/pwrite _all tests for io channel file
  migration/qemu-file: switch buffer_at functions to positioned I/O _all
    helpers
  migration/file: switch file_write_ramblock_iov to pwritev_all
  migration/qemu-file: drop incorrect const from qemu_get_buffer_at buf

Markus Armbruster (1):
  migration: Tweak description of migration property multifd-compression

Peter Xu (9):
  vmstate: Pass in struct itself for VMSTATE_ARRAY_OF_POINTER
  vmstate: Pass in struct itself for VMSTATE_VARRAY_OF_POINTER_UINT32
  vmstate: Do not set size for VMS_ARRAY_OF_POINTER
  vmstate: Update max_elems early and check field compressable once
  vmstate: Rename VMS_NULLPTR_MARKER to VMS_MARKER_PTR_NULL
  vmstate: Introduce vmstate_save_field_with_vmdesc()
  vmstate: Allow vmstate_info_nullptr to emit non-NULL markers
  vmstate: Implement load of ptr marker in vmstate core
  vmstate: Implement VMS_ARRAY_OF_POINTER_AUTO_ALLOC

Takeru Hayasaka (1):
  tests/qtest/migration: Add mapped-ram/postcopy validation test

Trieu Huynh (3):
  migration: fix QIOChannelFile leak on error in file_connect_outgoing
  migration: validate page_size in mapped-ram header before use
  tests/qtest/migration: fix fd leak in ufd_version_check

Vladimir Sementsov-Ogievskiy (18):
  migration: vmstate_save_state_v: fix double error_setg
  migration: make vmstate_save_state_v() static
  migration: make .post_save() a void function
  migration: vmstate_load_state(): add some newlines
  migration: vmstate_save/load_state(): refactor tracing errors
  migration: factor out vmstate_pre_save() from vmstate_save_state()
  migration: factor out vmstate_save_field() from vmstate_save_state()
  migration: factor out vmstate_pre_load() from vmstate_load_state()
  migration: factor out vmstate_load_field() from vmstate_load_state()
  migration: factor out vmstate_post_load() from vmstate_load_state()
  migration: convert vmstate_subsection_save/load functions to bool
  migration: VMStateInfo: introduce new handlers with errp
  migration: introduce vmstate_load_vmsd() and vmstate_save_vmsd()
  migration/cpr: move to new migration APIs
  migration/savevm: move to new migration APIs
  hw/s390x/css: drop use of .err_hint for vmstate
  migration: drop VMStateField.err_hint
  migration/vmstate-types: move to new migration APIs

 docs/devel/migration/main.rst          |   2 +-
 hw/block/fdc.c                         |   2 +-
 hw/core/qdev-properties-system.c       |   2 +-
 hw/display/qxl.c                       |   4 +-
 hw/display/vga.c                       |   2 +-
 hw/display/virtio-gpu.c                |   2 +-
 hw/display/vmware_vga.c                |   2 +-
 hw/i386/vmmouse.c                      |   2 +-
 hw/ide/ahci.c                          |   2 +-
 hw/intc/openpic.c                      |   2 +-
 hw/intc/spapr_xive.c                   |   2 +-
 hw/intc/xics.c                         |   2 +-
 hw/intc/xive.c                         |   2 +-
 hw/nvram/eeprom93xx.c                  |   2 +-
 hw/pci/pci.c                           |   2 +-
 hw/pci/pcie_aer.c                      |   2 +-
 hw/ppc/spapr_iommu.c                   |   2 +-
 hw/ppc/spapr_pci.c                     |   7 +-
 hw/ppc/spapr_vio.c                     |   4 +-
 hw/s390x/css.c                         |  15 +-
 hw/usb/hcd-uhci.c                      |   2 +-
 include/hw/intc/riscv_aclint.h         |   6 +-
 include/io/channel.h                   | 133 +++++
 include/migration/cpr.h                |   2 +-
 include/migration/vmstate.h            | 161 ++++--
 io/channel.c                           | 139 ++++++
 migration/cpr.c                        |  22 +-
 migration/file.c                       |  23 +-
 migration/qemu-file.c                  |  37 +-
 migration/qemu-file.h                  |   2 +-
 migration/ram.c                        |   6 +
 migration/savevm.c                     | 136 ++++--
 migration/trace-events                 |  30 +-
 migration/vmstate-types.c              | 650 ++++++++++++-------------
 migration/vmstate.c                    | 593 ++++++++++++++--------
 rust/migration/src/migratable.rs       |   6 +-
 rust/migration/src/vmstate.rs          |  12 +-
 scripts/analyze-migration.py           |  22 +-
 scripts/checkpatch.pl                  |   1 +
 target/arm/machine.c                   |   4 +-
 target/ppc/machine.c                   |   6 +-
 tests/functional/migration.py          |   2 +-
 tests/qtest/migration/file-tests.c     |  48 ++
 tests/qtest/migration/migration-util.c |  10 +-
 tests/qtest/migration/misc-tests.c     |  52 ++
 tests/unit/test-io-channel-file.c      | 207 ++++++++
 tests/unit/test-vmstate.c              |  90 +++-
 47 files changed, 1712 insertions(+), 752 deletions(-)

-- 
2.51.0
Re: [PULL 00/43] Migration patches for 2026-04-23
Posted by Stefan Hajnoczi 1 month ago
Applied, thanks.

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