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-faro...@suse.de v4: https://lore.kernel.org/r/20230816142510.5637-1-faro...@suse.de v3: https://lore.kernel.org/r/20230811150836.2895-1-faro...@suse.de v2: https://lore.kernel.org/r/20230802143644.7534-1-faro...@suse.de v1: https://lore.kernel.org/r/20230728121516.16258-1-faro...@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