* Juan Quintela ([email protected]) wrote: > We will sync later in different places. > > Signed-off-by: Juan Quintela <[email protected]>
Reviewed-by: Dr. David Alan Gilbert <[email protected]> > --- > migration/ram.c | 33 +++++++++++++++++++++------------ > 1 file changed, 21 insertions(+), 12 deletions(-) > > diff --git a/migration/ram.c b/migration/ram.c > index 5f5e37f64d..35816a3a0a 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -2944,11 +2944,12 @@ static int ram_save_setup(QEMUFile *f, void *opaque) > ram_control_before_iterate(f, RAM_CONTROL_SETUP); > ram_control_after_iterate(f, RAM_CONTROL_SETUP); > > - ret = multifd_send_sync_main(f); > - if (ret < 0) { > - return ret; > + if (migrate_multifd_sync_each_iteration()) { > + ret = multifd_send_sync_main(f); > + if (ret < 0) { > + return ret; > + } > } > - > qemu_put_be64(f, RAM_SAVE_FLAG_EOS); > qemu_fflush(f); > > @@ -3057,9 +3058,11 @@ static int ram_save_iterate(QEMUFile *f, void *opaque) > out: > if (ret >= 0 > && migration_is_setup_or_active(migrate_get_current()->state)) { > - ret = multifd_send_sync_main(rs->f); > - if (ret < 0) { > - return ret; > + if (migrate_multifd_sync_each_iteration()) { > + ret = multifd_send_sync_main(rs->f); > + if (ret < 0) { > + return ret; > + } > } > > qemu_put_be64(f, RAM_SAVE_FLAG_EOS); > @@ -3125,9 +3128,11 @@ static int ram_save_complete(QEMUFile *f, void *opaque) > return ret; > } > > - ret = multifd_send_sync_main(rs->f); > - if (ret < 0) { > - return ret; > + if (migrate_multifd_sync_each_iteration()) { > + ret = multifd_send_sync_main(rs->f); > + if (ret < 0) { > + return ret; > + } > } > > qemu_put_be64(f, RAM_SAVE_FLAG_EOS); > @@ -3799,7 +3804,9 @@ int ram_load_postcopy(QEMUFile *f) > > case RAM_SAVE_FLAG_EOS: > /* normal exit */ > - multifd_recv_sync_main(); > + if (migrate_multifd_sync_each_iteration()) { > + multifd_recv_sync_main(); > + } > break; > default: > error_report("Unknown combination of migration flags: 0x%x" > @@ -4075,7 +4082,9 @@ static int ram_load_precopy(QEMUFile *f) > break; > case RAM_SAVE_FLAG_EOS: > /* normal exit */ > - multifd_recv_sync_main(); > + if (migrate_multifd_sync_each_iteration()) { > + multifd_recv_sync_main(); > + } > break; > default: > if (flags & RAM_SAVE_FLAG_HOOK) { > -- > 2.34.1 > -- Dr. David Alan Gilbert / [email protected] / Manchester, UK
