]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
migration/multifd: Zero p->flags before starting filling a packet
authorMaciej S. Szmigiero <maciej.szmigiero@oracle.com>
Tue, 29 Oct 2024 14:58:15 +0000 (15:58 +0100)
committerPeter Xu <peterx@redhat.com>
Thu, 31 Oct 2024 19:48:18 +0000 (15:48 -0400)
This way there aren't stale flags there.

p->flags can't contain SYNC to be sent at the next RAM packet since syncs
are now handled separately in multifd_send_thread.

Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com>
Link: https://lore.kernel.org/r/1c96b6cdb797e6f035eb1a4ad9bfc24f4c7f5df8.1730203967.git.maciej.szmigiero@oracle.com
Signed-off-by: Peter Xu <peterx@redhat.com>
migration/multifd.c

index 697fe86fdf6b27a04eda8b11c7697bcf4da11d08..4374e14a9658a69c7c894428f78b095c7aa49ea4 100644 (file)
@@ -600,6 +600,7 @@ static void *multifd_send_thread(void *opaque)
          * qatomic_store_release() in multifd_send().
          */
         if (qatomic_load_acquire(&p->pending_job)) {
+            p->flags = 0;
             p->iovs_num = 0;
             assert(!multifd_payload_empty(p->data));
 
@@ -651,7 +652,6 @@ static void *multifd_send_thread(void *opaque)
                 }
                 /* p->next_packet_size will always be zero for a SYNC packet */
                 stat64_add(&mig_stats.multifd_bytes, p->packet_len);
-                p->flags = 0;
             }
 
             qatomic_set(&p->pending_sync, false);