* Juan Quintela (quintela@redhat.com) wrote:
> We will sync later in different places.
>
> Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
> ---
> 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 / dgilbert@redhat.com / Manchester, UK