This version adds migration-specific tracking for the yank functions.
We've estabilished that using the ioc refcount is a layer violation
and that relaxing the abort() on yank.c is undesirable, so we're left
with making the migration code keep track of how many QEMUFiles are
still using the QIOChannel and (consequently) the yank function.
CI run: https://gitlab.com/farosas/qemu/-/pipelines/999810871
v5:
https://lore.kernel.org/r/20230831183916.13203-1-farosas@suse.de
v4:
https://lore.kernel.org/r/20230816142510.5637-1-farosas@suse.de
v3:
https://lore.kernel.org/r/20230811150836.2895-1-farosas@suse.de
v2:
https://lore.kernel.org/r/20230802143644.7534-1-farosas@suse.de
v1:
https://lore.kernel.org/r/20230728121516.16258-1-farosas@suse.de
Fabiano Rosas (10):
migration: Fix possible race when setting rp_state.error
migration: Fix possible races when shutting down the return path
migration: Fix possible race when shutting down to_dst_file
migration: Remove redundant cleanup of postcopy_qemufile_src
migration: Consolidate return path closing code
migration: Replace the return path retry logic
migration: Move return path cleanup to main migration thread
migration/yank: Use channel features
migration/yank: Keep track of registered yank instances
migration: Add a wrapper to cleanup migration files
migration/migration.c | 227 +++++++++++++------------------------
migration/migration.h | 1 -
migration/yank_functions.c | 87 +++++++++++---
migration/yank_functions.h | 8 ++
4 files changed, 160 insertions(+), 163 deletions(-)
--
2.35.3