qemu-e2k/migration
Fabiano Rosas b7b03eb614 migration/multifd: Add outgoing QIOChannelFile support
Allow multifd to open file-backed channels. This will be used when
enabling the mapped-ram migration stream format which expects a
seekable transport.

The QIOChannel read and write methods will use the preadv/pwritev
versions which don't update the file offset at each call so we can
reuse the fd without re-opening for every channel.

Contrary to the socket migration, the file migration doesn't need an
asynchronous channel creation process, so expose
multifd_channel_connect() and call it directly.

Note that this is just setup code and multifd cannot yet make use of
the file channels.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Link: https://lore.kernel.org/r/20240229153017.2221-18-farosas@suse.de
Signed-off-by: Peter Xu <peterx@redhat.com>
2024-03-01 15:42:04 +08:00
..
block-dirty-bitmap.c Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
block.c Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
block.h
channel-block.c
channel-block.h
channel.c migration: Fix migration_channel_read_peek() error path 2024-01-04 09:52:42 +08:00
channel.h
colo-failover.c
colo.c Replace "iothread lock" with "BQL" in comments 2024-01-08 10:45:43 -05:00
dirtyrate.c system/cpus: rename qemu_mutex_lock_iothread() to bql_lock() 2024-01-08 10:45:43 -05:00
dirtyrate.h
exec.c migration: convert exec backend to accept MigrateAddress. 2023-11-02 11:35:04 +01:00
exec.h migration: convert exec backend to accept MigrateAddress. 2023-11-02 11:35:04 +01:00
fd.c
fd.h
file.c migration/multifd: Add outgoing QIOChannelFile support 2024-03-01 15:42:04 +08:00
file.h migration/multifd: Add outgoing QIOChannelFile support 2024-03-01 15:42:04 +08:00
global_state.c migration 1st pull for 9.0 2024-01-05 13:35:25 +00:00
meson.build
migration-hmp-cmds.c migration: Plug memory leak on HMP migrate error path 2024-01-29 11:02:12 +08:00
migration-stats.c migration: migration_rate_limit_reset() don't need the QEMUFile 2023-10-31 08:44:33 +01:00
migration-stats.h migration: Remove transferred atomic counter 2023-10-31 08:44:33 +01:00
migration.c migration: Add mapped-ram URI compatibility check 2024-03-01 15:42:04 +08:00
migration.h migration: stop vm for cpr 2024-02-28 11:31:28 +08:00
multifd-zlib.c migration/multifd: Decouple recv method from pages 2024-03-01 15:42:04 +08:00
multifd-zstd.c migration/multifd: Decouple recv method from pages 2024-03-01 15:42:04 +08:00
multifd.c migration/multifd: Add outgoing QIOChannelFile support 2024-03-01 15:42:04 +08:00
multifd.h migration/multifd: Add outgoing QIOChannelFile support 2024-03-01 15:42:04 +08:00
options.c migration/ram: Introduce 'mapped-ram' migration capability 2024-03-01 15:42:04 +08:00
options.h migration/ram: Introduce 'mapped-ram' migration capability 2024-03-01 15:42:04 +08:00
page_cache.c
page_cache.h
postcopy-ram.c migration: remove error from notifier data 2024-02-28 11:31:28 +08:00
postcopy-ram.h migration: remove error from notifier data 2024-02-28 11:31:28 +08:00
qemu-file.c migration/qemu-file: add utility methods for working with seekable channels 2024-03-01 15:42:04 +08:00
qemu-file.h migration/qemu-file: add utility methods for working with seekable channels 2024-03-01 15:42:04 +08:00
ram-compress.c migration: Rename ram_compressed_pages() to compress_ram_pages() 2023-10-30 17:41:55 +01:00
ram-compress.h migration: Rename ram_compressed_pages() to compress_ram_pages() 2023-10-30 17:41:55 +01:00
ram.c migration/ram: Add incoming 'mapped-ram' migration 2024-03-01 15:42:04 +08:00
ram.h migration: Change ram_dirty_bitmap_reload() retval to bool 2023-11-02 11:35:03 +01:00
rdma.c migration/rdma: define htonll/ntohll only if not predefined 2024-01-16 11:16:10 +08:00
rdma.h migration: convert rdma backend to accept MigrateAddress 2023-11-02 11:35:03 +01:00
savevm.c migration/ram: Introduce 'mapped-ram' migration capability 2024-03-01 15:42:04 +08:00
savevm.h
socket.c migration/multifd: Drop unnecessary helper to destroy IOC 2024-02-28 11:31:28 +08:00
socket.h migration/multifd: Drop unnecessary helper to destroy IOC 2024-02-28 11:31:28 +08:00
target.c
threadinfo.c
threadinfo.h
tls.c
tls.h
trace-events migration/multifd: Cleanup multifd_recv_sync_main 2024-03-01 15:42:04 +08:00
trace.h
vmstate-types.c
vmstate.c migration: Make VMStateDescription.subsections const 2023-12-29 11:17:30 +11:00
xbzrle.c
xbzrle.h
yank_functions.c migration/yank: Use channel features 2024-01-29 11:02:12 +08:00
yank_functions.h