diff options
| author | Stefan Hajnoczi <stefanha@redhat.com> | 2025-02-16 20:47:52 -0500 |
|---|---|---|
| committer | Stefan Hajnoczi <stefanha@redhat.com> | 2025-02-16 20:47:52 -0500 |
| commit | 9af3d9a931156142199c61518937506bfa5475f1 (patch) | |
| tree | c54d816a1fa87f31ead73e2eaca5ba6e1e56a970 /migration/migration.h | |
| parent | 495de0fd82d8bb2d7035f82d9869cfeb48de2f9e (diff) | |
| parent | 5984870e02aa6cf471bc9225ae91640b544b31c8 (diff) | |
| download | focaccia-qemu-9af3d9a931156142199c61518937506bfa5475f1.tar.gz focaccia-qemu-9af3d9a931156142199c61518937506bfa5475f1.zip | |
Merge tag 'migration-20250214-pull-request' of https://gitlab.com/farosas/qemu into staging
Migration pull request - Proper TLS termination for multifd - Fixes for bugs while cancelling migration - Fix for a hang after migration failure (#2633) - Tests for qmp_migrate_cancel - Fix for CID 1590980 - Fixes and improvements to guestperf.py # -----BEGIN PGP SIGNATURE----- # # iQJEBAABCAAuFiEEqhtIsKIjJqWkw2TPx5jcdBvsMZ0FAmevp3oQHGZhcm9zYXNA # c3VzZS5kZQAKCRDHmNx0G+wxnSgGD/9z2ATsf073wDupwJ7tJIxgZ6D8Dlb7yPZ6 # azRgC7TMv1VGE0cx4r1IiNopFDUodrVO3yXA9D7GVvfkgSr9Oa4oUniQwItM9PT4 # QymGPKIE0nuwPCvCrlKXXGruLMngTeb0kpJeseJ9vEXJlQxLvYCtcELF6j2tzVmx # nisMgMZiyBwYfS0b7ZctXHqY0+NmNuke/giX6ceUAaj4wqpgFI3zo9OGCHYinYsR # oMoMLusyUnDBCqV2P3jGGz4W2KmkCxStnH0yRdUN9mwt0KLl82t6e0aCJqkWo6+W # m68DlZgUFwbz4Aq5M2RDPhXvXgim8Ryi29zRuedx8ngYS9Qz6D5y4Fgp4uv/N7ia # v8bB6QPZMOkhPq2gkCxPEy47l4tDZhrWRqqEqw4h1nO01KCJ2+y2IZCOBmPFXywT # B58f7KvmnLLiYbfWxjnQmOXs9PKRsQjJk96BmRCbf03WeNTF+FHuvQZu9h4Bwb2/ # im0kJSq2zR8eSamH2L2dyYhQZ4JqMJa7I3JXqJbAjhk1ya6kX5v899EcktTPDVSG # xGINVshpfwwFovRqhgYL9fjqrO8DMNZCbS6IEGLuR5lx90Wo5a8XbKX71JmsnZUO # jnGJ+1InTZcbUvp0tkQzXWwUKx8MCP/OWTb098D8oUmfEumYozzsAW5X9kw+4hVJ # rpYvw5IYfA== # =cBl0 # -----END PGP SIGNATURE----- # gpg: Signature made Fri 14 Feb 2025 15:28:42 EST # 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: The key's User ID 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-20250214-pull-request' of https://gitlab.com/farosas/qemu: (22 commits) guestperf: Add test result data into report guestperf: Introduce multifd compression option guestperf: Nitpick the inconsistent parameters guestperf: Support deferred migration for multifd migration: use parameters.mode in cpr_state_save migration: Update migrate_cancel documentation tests/qtest/migration: Add a cancel test tests/qtest/migration: Introduce migration_test_add_suffix migration: Don't set FAILED state when cancelling migration: Reject qmp_migrate_cancel after postcopy migration: Fix hang after error in destination setup phase migration: Change migrate_fd_ to migration_ migration: Unify migration_cancel and migrate_fd_cancel migration: Set migration error outside of migrate_cancel migration: Check migration error after loadvm migration/multifd: Add a compat property for TLS termination migration/multifd: Terminate the TLS connection io: Add a read flag for relaxed EOF io: Add flags argument to qio_channel_readv_full_all_eof crypto: Remove qcrypto_tls_session_get_handshake_status ... Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'migration/migration.h')
| -rw-r--r-- | migration/migration.h | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/migration/migration.h b/migration/migration.h index eaebcc2042..4639e2a7e4 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -443,6 +443,39 @@ struct MigrationState { * Default value is false. (since 8.1) */ bool multifd_flush_after_each_section; + + /* + * This variable only makes sense when set on the machine that is + * the destination of a multifd migration with TLS enabled. It + * affects the behavior of the last send->recv iteration with + * regards to termination of the TLS session. + * + * When set: + * + * - the destination QEMU instance can expect to never get a + * GNUTLS_E_PREMATURE_TERMINATION error. Manifested as the error + * message: "The TLS connection was non-properly terminated". + * + * When clear: + * + * - the destination QEMU instance can expect to see a + * GNUTLS_E_PREMATURE_TERMINATION error in any multifd channel + * whenever the last recv() call of that channel happens after + * the source QEMU instance has already issued shutdown() on the + * channel. + * + * Commit 637280aeb2 (since 9.1) introduced a side effect that + * causes the destination instance to not be affected by the + * premature termination, while commit 1d457daf86 (since 10.0) + * causes the premature termination condition to be once again + * reachable. + * + * NOTE: Regardless of the state of this option, a premature + * termination of the TLS connection might happen due to error at + * any moment prior to the last send->recv iteration. + */ + bool multifd_clean_tls_termination; + /* * This decides the size of guest memory chunk that will be used * to track dirty bitmap clearing. The size of memory chunk will @@ -484,7 +517,7 @@ bool migration_has_all_channels(void); void migrate_set_error(MigrationState *s, const Error *error); bool migrate_has_error(MigrationState *s); -void migrate_fd_connect(MigrationState *s, Error *error_in); +void migration_connect(MigrationState *s, Error *error_in); int migration_call_notifiers(MigrationState *s, MigrationEventType type, Error **errp); @@ -530,7 +563,7 @@ void migration_make_urgent_request(void); void migration_consume_urgent_request(void); bool migration_rate_limit(void); void migration_bh_schedule(QEMUBHFunc *cb, void *opaque); -void migration_cancel(const Error *error); +void migration_cancel(void); void migration_populate_vfio_info(MigrationInfo *info); void migration_reset_vfio_bytes_transferred(void); |