OSDN Git Service

multifd: reset next_packet_len after sending pages
authorElena Ufimtseva <elena.ufimtseva@oracle.com>
Wed, 11 Oct 2023 18:43:58 +0000 (11:43 -0700)
committerJuan Quintela <quintela@redhat.com>
Tue, 17 Oct 2023 07:25:13 +0000 (09:25 +0200)
Sometimes multifd sends just sync packet with no pages
(normal_num is 0). In this case the old value is being
preserved and being accounted for while only packet_len
is being transferred.
Reset it to 0 after sending and accounting for.

Signed-off-by: Elena Ufimtseva <elena.ufimtseva@oracle.com>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-ID: <20231011184358.97349-5-elena.ufimtseva@oracle.com>

migration/multifd.c

index e6e0013..c45f501 100644 (file)
@@ -730,6 +730,7 @@ static void *multifd_send_thread(void *opaque)
                        p->next_packet_size + p->packet_len);
             stat64_add(&mig_stats.transferred,
                        p->next_packet_size + p->packet_len);
+            p->next_packet_size = 0;
             qemu_mutex_lock(&p->mutex);
             p->pending_job--;
             qemu_mutex_unlock(&p->mutex);