qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] 55a331: migration/colo: Minor fix for colo er


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] 55a331: migration/colo: Minor fix for colo error message
Date: Wed, 22 May 2024 19:02:46 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 55a331655dbc8feee198f379eaafa3e75e744b7b
      
https://github.com/qemu/qemu/commit/55a331655dbc8feee198f379eaafa3e75e744b7b
  Author: Li Zhijian <lizhijian@fujitsu.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M migration/migration.c

  Log Message:
  -----------
  migration/colo: Minor fix for colo error message

- Explicitly show the missing module name: replication
- Fix capability name to x-colo

Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
[fixed mangled author email address]
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 787ea49e80df0e7af922586f6076da94410cdd08
      
https://github.com/qemu/qemu/commit/787ea49e80df0e7af922586f6076da94410cdd08
  Author: Li Zhijian <lizhijian@fujitsu.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M include/migration/colo.h
    M migration/colo-stubs.c
    M migration/colo.c
    M migration/migration.c

  Log Message:
  -----------
  migration/colo: make colo_incoming_co() return void

Currently, it always returns 0, no need to check the return value at all.
In addition, enter colo coroutine only if migration_incoming_colo_enabled()
is true.
Once the destination side enters the COLO* state, the COLO process will
take over the remaining processes until COLO exits.

Cc: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
[fixed mangled author email address]
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 3dc27fac2547623d837826bbda5369d7b240c78e
      
https://github.com/qemu/qemu/commit/3dc27fac2547623d837826bbda5369d7b240c78e
  Author: Li Zhijian <lizhijian@fujitsu.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M migration/colo.c

  Log Message:
  -----------
  migration/colo: Tidy up bql_unlock() around bdrv_activate_all()

Make the code more tight.

Suggested-by: Michael Tokarev <mjt@tls.msk.ru>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Li Zhijian <lizhijian@fujitsu.com>
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
[fixed mangled author email address]
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 3f879f2f319379daeb65faa3677191ba4240b45c
      
https://github.com/qemu/qemu/commit/3f879f2f319379daeb65faa3677191ba4240b45c
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M migration/trace-events
    M migration/vmstate.c

  Log Message:
  -----------
  migration: add "exists" info to load-state-field trace

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: f0937ec669f9f39f5ece39f62d048606b9ee3877
      
https://github.com/qemu/qemu/commit/f0937ec669f9f39f5ece39f62d048606b9ee3877
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M migration/vmstate.c

  Log Message:
  -----------
  migration: fix a typo

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 40a23ef643664b5c1021a9789f9d680b6294fb50
      
https://github.com/qemu/qemu/commit/40a23ef643664b5c1021a9789f9d680b6294fb50
  Author: Marc-André Lureau <marcandre.lureau@redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M hw/core/machine.c
    M hw/display/virtio-gpu.c
    M include/hw/virtio/virtio-gpu.h

  Log Message:
  -----------
  virtio-gpu: fix v2 migration

Commit dfcf74fa ("virtio-gpu: fix scanout migration post-load") broke
forward/backward version migration. Versioning of nested VMSD structures
is not straightforward, as the wire format doesn't have nested
structures versions. Introduce x-scanout-vmstate-version and a field
test to save/load appropriately according to the machine version.

Fixes: dfcf74fa ("virtio-gpu: fix scanout migration post-load")
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
Tested-by: Fiona Ebner <f.ebner@proxmox.com>
[fixed long lines]
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 9710401276a0eb2fc6d467d9abea1f5e3fe2c362
      
https://github.com/qemu/qemu/commit/9710401276a0eb2fc6d467d9abea1f5e3fe2c362
  Author: Fiona Ebner <f.ebner@proxmox.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M hw/core/machine.c

  Log Message:
  -----------
  hw/core/machine: move compatibility flags for VirtIO-net USO to machine 8.1

Migration from an 8.2 or 9.0 binary to an 8.1 binary with machine
version 8.1 can fail with:

> kvm: Features 0x1c0010130afffa7 unsupported. Allowed features: 0x10179bfffe7
> kvm: Failed to load virtio-net:virtio
> kvm: error while loading state for instance 0x0 of device 
> '0000:00:12.0/virtio-net'
> kvm: load of migration failed: Operation not permitted

The series

53da8b5a99 virtio-net: Add support for USO features
9da1684954 virtio-net: Add USO flags to vhost support.
f03e0cf63b tap: Add check for USO features
2ab0ec3121 tap: Add USO support to tap device.

only landed in QEMU 8.2, so the compatibility flags should be part of
machine version 8.1.

Moving the flags unfortunately breaks forward migration with machine
version 8.1 from a binary without this patch to a binary with this
patch.

Fixes: 53da8b5a99 ("virtio-net: Add support for USO features")
Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Acked-by: Jason Wang <jasowang@redhat.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 648536550b6f319cae2e7a9f1b09851759c227b4
      
https://github.com/qemu/qemu/commit/648536550b6f319cae2e7a9f1b09851759c227b4
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  tests/qtest/migration-test: Run some basic tests on s390x and ppc64 with TCG, 
too

On s390x, we recently had a regression that broke migration / savevm
(see commit bebe9603fc ("hw/intc/s390_flic: Fix crash that occurs when
saving the machine state"). The problem was merged without being noticed
since we currently do not run any migration / savevm related tests on
x86 hosts.
While we currently cannot run all migration tests for the s390x target
on x86 hosts yet (due to some unresolved issues with TCG), we can at
least run some of the non-live tests to avoid such problems in the future.
Thus enable the "analyze-script" and the "bad_dest" tests before checking
for KVM on s390x or ppc64 (this also fixes the problem that the
"analyze-script" test was not run on s390x at all anymore since it got
disabled again by accident in a previous refactoring of the code).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 8f023a0bd946bb0c122543c64fe2b34bad0dd048
      
https://github.com/qemu/qemu/commit/8f023a0bd946bb0c122543c64fe2b34bad0dd048
  Author: Thomas Huth <thuth@redhat.com>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  tests/qtest/migration-test: Fix the check for a successful run of 
analyze-migration.py

If analyze-migration.py cannot be run or crashes, the error is currently
ignored since the code only checks for nonzero values in case the child
exited properly. For example, if you run the test with a non-existing
Python interpreter, it still succeeds:

 $ PYTHON=wrongpython QTEST_QEMU_BINARY=./qemu-system-x86_64 
tests/qtest/migration-test
 ...
 # Running /x86_64/migration/analyze-script
 # Using machine type: pc-q35-9.1
 # starting QEMU: exec ./qemu-system-x86_64 -qtest unix:/tmp/qtest-417639.sock 
-qtest-log /dev/null -chardev socket,path=/tmp/qtest-417639.qmp,id=char0 -mon 
chardev=char0,mode=control -display none -audio none -accel kvm -accel tcg 
-machine pc-q35-9.1, -name source,debug-threads=on -m 150M -serial 
file:/tmp/migration-test-XPLUN2/src_serial -drive 
if=none,id=d0,file=/tmp/migration-test-XPLUN2/bootsect,format=raw -device 
ide-hd,drive=d0,secs=1,cyls=1,heads=1   -uuid 
11111111-1111-1111-1111-111111111111  -accel qtest
 # starting QEMU: exec ./qemu-system-x86_64 -qtest unix:/tmp/qtest-417639.sock 
-qtest-log /dev/null -chardev socket,path=/tmp/qtest-417639.qmp,id=char0 -mon 
chardev=char0,mode=control -display none -audio none -accel kvm -accel tcg 
-machine pc-q35-9.1, -name target,debug-threads=on -m 150M -serial 
file:/tmp/migration-test-XPLUN2/dest_serial -incoming tcp:127.0.0.1:0 -drive 
if=none,id=d0,file=/tmp/migration-test-XPLUN2/bootsect,format=raw -device 
ide-hd,drive=d0,secs=1,cyls=1,heads=1     -accel qtest
 **
 ERROR:../../devel/qemu/tests/qtest/migration-test.c:1603:test_analyze_script: 
code should not be reached
 migration-test: ../../devel/qemu/tests/qtest/libqtest.c:240: qtest_wait_qemu: 
Assertion `pid == s->qemu_pid' failed.
 migration-test: ../../devel/qemu/tests/qtest/libqtest.c:240: qtest_wait_qemu: 
Assertion `pid == s->qemu_pid' failed.
 ok 2 /x86_64/migration/analyze-script
 ...

Let's better fail the test in case the child did not exit properly, too.

Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>


  Commit: 7e1c0047015ffbd408e1aa4a5ec1abe4751dbf7e
      
https://github.com/qemu/qemu/commit/7e1c0047015ffbd408e1aa4a5ec1abe4751dbf7e
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2024-05-22 (Wed, 22 May 2024)

  Changed paths:
    M hw/core/machine.c
    M hw/display/virtio-gpu.c
    M include/hw/virtio/virtio-gpu.h
    M include/migration/colo.h
    M migration/colo-stubs.c
    M migration/colo.c
    M migration/migration.c
    M migration/trace-events
    M migration/vmstate.c
    M tests/qtest/migration-test.c

  Log Message:
  -----------
  Merge tag 'migration-20240522-pull-request' of 
https://gitlab.com/farosas/qemu into staging

Migration pull request

- Li Zhijian's COLO minor fixes
- Marc-André's virtio-gpu fix
- Fiona's virtio-net USO fix
- A couple of migration-test fixes from Thomas

# -----BEGIN PGP SIGNATURE-----
#
# iQJEBAABCAAuFiEEqhtIsKIjJqWkw2TPx5jcdBvsMZ0FAmZObggQHGZhcm9zYXNA
# c3VzZS5kZQAKCRDHmNx0G+wxnWE8D/49RGE+g29qyk9aKx3lU8mSq+ZzmX5GncBt
# 5+Mx5qoHDsBCQTE+dQpEVIoeMJ2HIbgbOML4qsnp6Hw/4/TWkfwC/R6+ZmHBevRk
# fVLkVh2JMHVg8Tq+0FO1X1QnMU03uJ7EAuWdDa8HqlJ5dQY/K3gDaku8oQBXk96X
# 13pChSbMob76tdb+wiwbdEakabigH7XfrPdI6lzI8MCGTIcPKc/UKTFYuoj/OsNx
# raqy+uBtvKtfHxiaYnIgHIPNAF/1f4tP3iAOcPoZWIMXWxFkE8+ANDJAbWo6xIcL
# DGg/wEzZO/OnXLjOhjvLBUHK/fx4wQ5bsqA09BVxoRyBGblkXr+bcwBLYjgiEqzT
# aniPiAx5W/Db+T7HqZPIWesFYj3cmcwvYUTrx/RPMdC0epG+ZczDMtescHdZbxvt
# Pjs3nFeCLhyYcVhlTI72eXRCxdd/26+r6/OmrBC2+GaZrybM61TvNo+3XvO0Pfhi
# UmwF2EN27XmSMelLvH/MnflUVgBHKDs3CCQzDlxreHq2jMVR0SL7LU5wMJJ58Iok
# M3u74izQM25bwYxiASH+4iRn0puH1mOwgOx28W0uiQfZY/678/lCnwa1Tul15BRE
# fIQZJhyIGzhSpwLqEXmdXdlLQs1isqIgpd/mzKgZ285nLr7kz+4gxCUqiXgVbrl7
# P45Dym1u4g==
# =DDrh
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 22 May 2024 03:13:28 PM PDT
# gpg:                using RSA key AA1B48B0A22326A5A4C364CFC798DC741BEC319D
# gpg:                issuer "farosas@suse.de"
# gpg: Good signature from "Fabiano Rosas <farosas@suse.de>" [unknown]
# gpg:                 aka "Fabiano Almeida Rosas <fabiano.rosas@suse.com>" 
[unknown]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg:          There is no indication that the signature belongs to the owner.
# Primary key fingerprint: AA1B 48B0 A223 26A5 A4C3  64CF C798 DC74 1BEC 319D

* tag 'migration-20240522-pull-request' of https://gitlab.com/farosas/qemu:
  tests/qtest/migration-test: Fix the check for a successful run of 
analyze-migration.py
  tests/qtest/migration-test: Run some basic tests on s390x and ppc64 with TCG, 
too
  hw/core/machine: move compatibility flags for VirtIO-net USO to machine 8.1
  virtio-gpu: fix v2 migration
  migration: fix a typo
  migration: add "exists" info to load-state-field trace
  migration/colo: Tidy up bql_unlock() around bdrv_activate_all()
  migration/colo: make colo_incoming_co() return void
  migration/colo: Minor fix for colo error message

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/6af8037c42fd...7e1c0047015f

To unsubscribe from these emails, change your notification settings at 
https://github.com/qemu/qemu/settings/notifications



reply via email to

[Prev in Thread] Current Thread [Next in Thread]