summary refs log tree commit diff stats
path: root/hw/core/cpu-common.c
diff options
context:
space:
mode:
authorPeter Xu <peterx@redhat.com>2025-09-25 16:16:01 -0400
committerPeter Xu <peterx@redhat.com>2025-10-03 09:48:02 -0400
commit82f038d5961a8c8f896b499e31c638266e0291e9 (patch)
treef2c2fe30fd9240e66b55bd8a90c0b319f1cdab9a /hw/core/cpu-common.c
parent2aae7171224b6a305f2bf228754b59f0f99d255a (diff)
downloadfocaccia-qemu-82f038d5961a8c8f896b499e31c638266e0291e9.tar.gz
focaccia-qemu-82f038d5961a8c8f896b499e31c638266e0291e9.zip
migration/multifd/tls: Cleanup BYE message processing on sender side
This patch is a trivial cleanup to the BYE messages on the multifd sender
side.  It could also be a fix, but since we do not have a solid clue,
taking this as a cleanup only.

One trivial concern is, migration_tls_channel_end() might be unsafe to be
invoked in the migration thread if migration is not successful, because
when failed / cancelled we do not know whether the multifd sender threads
can be writting to the channels, while GnuTLS library (when it's a TLS
channel) logically doesn't support concurrent writes.

When at it, cleanup on a few things.  What changed:

  - Introduce a helper to do graceful shutdowns with rich comment, hiding
    the details

  - Only send bye() iff migration succeeded, skip if it failed / cancelled

  - Detect TLS channel using channel type rather than thread created flags

  - Move the loop into the existing one that will close the channels, but
    do graceful shutdowns before channel shutdowns

  - local_err seems to have been leaked if set, fix it along the way

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20250925201601.290546-1-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'hw/core/cpu-common.c')
0 files changed, 0 insertions, 0 deletions