summary refs log tree commit diff stats
path: root/migration/file.c
diff options
context:
space:
mode:
authorFabiano Rosas <farosas@suse.de>2024-03-11 18:00:09 +0000
committerPeter Xu <peterx@redhat.com>2024-03-11 16:34:51 -0400
commit44fe138edc0f08b8568fe4ee90be6a2a56c67daf (patch)
tree06b9bb3b6801aa59726cb57e955ed0c95e8b1332 /migration/file.c
parentc9539d9b14e6369ff169951f581b4c5cea1786e2 (diff)
downloadfocaccia-qemu-44fe138edc0f08b8568fe4ee90be6a2a56c67daf.tar.gz
focaccia-qemu-44fe138edc0f08b8568fe4ee90be6a2a56c67daf.zip
migration/multifd: Allow zero pages in file migration
Currently, it's an error to have no data pages in the multifd file
migration because zero page detection is done in the migration thread
and zero pages don't reach multifd. This is enforced with the
pages->num assert.

We're about to add zero page detection on the multifd thread. Fix the
file_write_ramblock_iov() to stop considering p->iovs_num=0 an error.

Signed-off-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240311180015.3359271-2-hao.xiang@linux.dev
Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'migration/file.c')
-rw-r--r--migration/file.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/migration/file.c b/migration/file.c
index 5054a60851..b0b963e0ce 100644
--- a/migration/file.c
+++ b/migration/file.c
@@ -159,7 +159,7 @@ void file_start_incoming_migration(FileMigrationArgs *file_args, Error **errp)
 int file_write_ramblock_iov(QIOChannel *ioc, const struct iovec *iov,
                             int niov, RAMBlock *block, Error **errp)
 {
-    ssize_t ret = -1;
+    ssize_t ret = 0;
     int i, slice_idx, slice_num;
     uintptr_t base, next, offset;
     size_t len;