You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Juraj Marcin
7b842fe354
migration: Introduce POSTCOPY_DEVICE state
...
Currently, when postcopy starts, the source VM starts switchover and
sends a package containing the state of all non-postcopiable devices.
When the destination loads this package, the switchover is complete and
the destination VM starts. However, if the device state load fails or
the destination side crashes, the source side is already in
POSTCOPY_ACTIVE state and cannot be recovered, even when it has the most
up-to-date machine state as the destination has not yet started.
This patch introduces a new POSTCOPY_DEVICE state which is active while
the destination machine is loading the device state, is not yet running,
and the source side can be resumed in case of a migration failure.
Return-path is required for this state to function, otherwise it will be
skipped in favor of POSTCOPY_ACTIVE.
To transition from POSTCOPY_DEVICE to POSTCOPY_ACTIVE, the source
side uses a PONG message that is a response to a PING message processed
just before the POSTCOPY_RUN command that starts the destination VM.
Thus, this feature is effective even if the destination side does not
yet support this new state.
Signed-off-by: Juraj Marcin <jmarcin@redhat.com>
Link: https://lore.kernel.org/r/20251103183301.3840862-9-jmarcin@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
6 days ago
..
block-active.c
migration/block-active: Remove global active flag
9 months ago
block-dirty-bitmap.c
migration: Rename save_live_complete_precopy to save_complete
4 months ago
channel-block.c
migration: add FEATURE_SEEKABLE to QIOChannelBlock
6 days ago
channel-block.h
migration: introduce a QIOChannel impl for BlockDriverState VMState
3 years ago
channel.c
migration: Properly wait on G_IO_IN when peeking messages
6 days ago
channel.h
migration: check magic value for deciding the mapping of channels
3 years ago
colo-failover.c
migration/colo: Improve an x-colo-lost-heartbeat error message
3 years ago
colo-stubs.c
migration/colo: make colo_incoming_co() return void
1 year ago
colo.c
migration: Update qemu_file_get_return_path() docs and remove dead checks
1 month ago
cpr-exec.c
migration/cpr: Fix UAF in cpr_exec_cb() when execvp() fails
6 days ago
cpr-transfer.c
migration: Support fd-based socket address in cpr_transfer_input
5 months ago
cpr.c
migration/cpr: Fix coverity report in cpr_exec_persist_state()
6 days ago
cpu-throttle.c
include: Rename sysemu/ -> system/
11 months ago
dirtyrate.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
dirtyrate.h
include: Rename sysemu/ -> system/
11 months ago
exec.c
migration: simplify exec migration functions
2 years ago
exec.h
migration: convert exec backend to accept MigrateAddress.
2 years ago
fd.c
migration: Allow pipes to keep working for fd migrations
12 months ago
fd.h
migration: Revert mapped-ram multifd support to fd: URI
2 years ago
file.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
file.h
migration/multifd: Pass in MultiFDPages_t to file_write_ramblock_iov
1 year ago
global_state.c
include: Rename sysemu/ -> system/
11 months ago
meson.build
migration: cpr-exec save and load
1 month ago
migration-hmp-cmds.c
migration/cpr: Document obscure usage of g_autofree when parse str
6 days ago
migration-stats.c
migration: migration_rate_limit_reset() don't need the QEMUFile
2 years ago
migration-stats.h
migration: Remove transferred atomic counter
2 years ago
migration.c
migration: Introduce POSTCOPY_DEVICE state
6 days ago
migration.h
migration: Introduce POSTCOPY_DEVICE state
6 days ago
multifd-device-state.c
migration: Rename save_live_complete_precopy_thread to save_complete_precopy_thread
4 months ago
multifd-nocomp.c
migration: enable multifd and postcopy together
6 months ago
multifd-qatzip.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
multifd-qpl.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
multifd-uadk.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
multifd-zero-page.c
migration: write zero pages when postcopy enabled
6 months ago
multifd-zlib.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
multifd-zstd.c
include/system: Move exec/ramblock.h to system/ramblock.h
7 months ago
multifd.c
migration/multifd/tls: Cleanup BYE message processing on sender side
1 month ago
multifd.h
migration/multifd: move macros to multifd header
6 months ago
options.c
migration: mapped-ram: handle zero pages
6 days ago
options.h
migration/savevm: Add a compatibility check for capabilities
6 days ago
page_cache.c
migration: Fix cache_init()'s "Failed to allocate" error messages
5 years ago
page_cache.h
migration: Clean up signed vs. unsigned XBZRLE cache-size
5 years ago
postcopy-ram.c
migration: Introduce POSTCOPY_DEVICE state
6 days ago
postcopy-ram.h
migration: Introduce postcopy incoming setup and cleanup functions
6 days ago
qemu-file.c
io: Add qio_channel_wait_cond() helper
6 days ago
qemu-file.h
migration: qemu_file_set_blocking(): add errp parameter
2 months ago
ram.c
migration: mapped-ram: handle zero pages
6 days ago
ram.h
migration: push Error **errp into loadvm_process_enable_colo()
1 month ago
rdma.c
migration/rdma: Remove qemu_rdma_broken_ipv6_kernel
6 months ago
rdma.h
migration: Unfold control_save_page()
6 months ago
savevm.c
migration: Introduce POSTCOPY_DEVICE state
6 days ago
savevm.h
migration: Introduce POSTCOPY_DEVICE state
6 days ago
socket.c
migration: Remove unused socket_send_channel_create_sync
1 year ago
socket.h
migration: Remove unused socket_send_channel_create_sync
1 year ago
threadinfo.c
migration/multifd: Protect accesses to migration_threads
2 years ago
threadinfo.h
migration/multifd: Protect accesses to migration_threads
2 years ago
tls.c
migration: activate TLS thread safety workaround
4 months ago
tls.h
migration/multifd: Terminate the TLS connection
9 months ago
trace-events
migration: Introduce POSTCOPY_DEVICE state
6 days ago
trace.h
trace: switch position of headers to what Meson requires
5 years ago
vfio-stub.c
migration/vfio: compile only once
2 months ago
vfio.c
migration/vfio: compile only once
2 months ago
vmstate-types.c
migration: cpr-exec mode
1 month ago
vmstate.c
migration: vmsd errp handlers: return bool
6 days ago
xbzrle.c
migration/xbzrle: Use i386 host/cpuinfo.h
3 years ago
xbzrle.h
migration/xbzrle: Use i386 host/cpuinfo.h
3 years ago
yank_functions.c
migration/yank: Use channel features
2 years ago
yank_functions.h
migration: Move the yank unregister of channel_close out
4 years ago