qemu/migration
Avihai Horon 08fc4cb517 migration: Add .save_prepare() handler to struct SaveVMHandlers
Add a new .save_prepare() handler to struct SaveVMHandlers. This handler
is called early, even before migration starts, and can be used by
devices to perform early checks.

Refactor migrate_init() to be able to return errors and call
.save_prepare() from there.

Suggested-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Avihai Horon <avihaih@nvidia.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Signed-off-by: Cédric Le Goater <clg@redhat.com>
2023-09-11 08:34:06 +02:00
..
block-dirty-bitmap.c
block.c block-migration: Ensure we don't crash during migration cleanup 2023-08-30 07:39:10 -04:00
block.h
channel-block.c io: follow coroutine AioContext in qio_channel_yield() 2023-09-07 20:32:11 -05:00
channel-block.h
channel.c
channel.h
colo-failover.c
colo.c
dirtyrate.c migration/dirtyrate: Fix precision losses and g_usleep overshoot 2023-08-29 10:19:03 +08:00
dirtyrate.h
exec.c
exec.h
fd.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
fd.h
global_state.c
meson.build meson: Replace softmmu_ss -> system_ss 2023-06-20 10:01:30 +02:00
migration-hmp-cmds.c migration: Extend query-migrate to provide dirty page limit info 2023-07-26 10:55:56 +02:00
migration-stats.c migration: spelling fixes 2023-07-25 17:13:20 +03:00
migration-stats.h
migration.c migration: Add .save_prepare() handler to struct SaveVMHandlers 2023-09-11 08:34:06 +02:00
migration.h migration: Add .save_prepare() handler to struct SaveVMHandlers 2023-09-11 08:34:06 +02:00
multifd-zlib.c migration: spelling fixes 2023-07-25 17:13:20 +03:00
multifd-zstd.c migration: spelling fixes 2023-07-25 17:13:20 +03:00
multifd.c migration/multifd: Rename threadinfo.c functions 2023-07-26 10:55:56 +02:00
multifd.h
options.c migration: enforce multifd and postcopy preempt to be set before incoming 2023-07-26 10:55:56 +02:00
options.h migration: Introduce dirty-limit capability 2023-07-26 10:55:56 +02:00
page_cache.c
page_cache.h
postcopy-ram.c migration/ram: Expose ramblock_is_ignored() as migrate_ram_is_ignored() 2023-07-12 09:25:37 +02:00
postcopy-ram.h
qemu-file.c migration/rdma: Split qemu_fopen_rdma() into input/output functions 2023-07-26 10:55:56 +02:00
qemu-file.h migration/rdma: Split qemu_fopen_rdma() into input/output functions 2023-07-26 10:55:56 +02:00
ram-compress.c
ram-compress.h
ram.c migration: Implement dirty-limit convergence algo 2023-07-26 10:55:56 +02:00
ram.h migration/ram: Expose ramblock_is_ignored() as migrate_ram_is_ignored() 2023-07-12 09:25:37 +02:00
rdma.c io: follow coroutine AioContext in qio_channel_yield() 2023-09-07 20:32:11 -05:00
rdma.h
savevm.c migration: Add .save_prepare() handler to struct SaveVMHandlers 2023-09-11 08:34:06 +02:00
savevm.h migration: Add .save_prepare() handler to struct SaveVMHandlers 2023-09-11 08:34:06 +02:00
socket.c
socket.h
target.c migration: Add migration prefix to functions in target.c 2023-09-11 08:34:06 +02:00
threadinfo.c migration/multifd: Protect accesses to migration_threads 2023-07-26 10:55:56 +02:00
threadinfo.h migration/multifd: Protect accesses to migration_threads 2023-07-26 10:55:56 +02:00
tls.c
tls.h
trace-events migration: Implement dirty-limit convergence algo 2023-07-26 10:55:56 +02:00
trace.h
vmstate-types.c
vmstate.c qemu-file: Rename qemu_file_transferred_ fast -> noflush 2023-07-26 10:55:56 +02:00
xbzrle.c
xbzrle.h
yank_functions.c bulk: Remove pointless QOM casts 2023-06-05 20:48:34 +02:00
yank_functions.h