2022-11-08 06:41:59 +00:00
|
|
|
From 8c1edb1889ff44506f35fa185d6569b0dd9d7260 Mon Sep 17 00:00:00 2001
|
2022-09-13 07:40:35 +00:00
|
|
|
From: Juan Quintela <quintela@redhat.com>
|
|
|
|
Date: Wed, 18 May 2022 02:52:23 -0300
|
2022-11-08 06:41:59 +00:00
|
|
|
Subject: [PATCH 07/37] multifd: Fill offset and block for reception
|
2022-09-13 07:40:35 +00:00
|
|
|
MIME-Version: 1.0
|
|
|
|
Content-Type: text/plain; charset=UTF-8
|
|
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
|
|
|
|
RH-Author: Leonardo Brás <leobras@redhat.com>
|
2022-11-08 06:41:59 +00:00
|
|
|
RH-MergeRequest: 191: MSG_ZEROCOPY + Multifd @ rhel8.7
|
|
|
|
RH-Commit: [7/26] 51a9e6b76af956d63fc735172211d9bf6f0f6f80
|
|
|
|
RH-Bugzilla: 2072049
|
2022-09-13 07:40:35 +00:00
|
|
|
RH-Acked-by: Peter Xu <peterx@redhat.com>
|
2022-11-08 06:41:59 +00:00
|
|
|
RH-Acked-by: Daniel P. Berrangé <berrange@redhat.com>
|
|
|
|
RH-Acked-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
2022-09-13 07:40:35 +00:00
|
|
|
|
|
|
|
We were using the iov directly, but we will need this info on the
|
|
|
|
following patch.
|
|
|
|
|
|
|
|
Signed-off-by: Juan Quintela <quintela@redhat.com>
|
|
|
|
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
|
|
|
|
(cherry picked from commit 01102a2ef6c97acc5cc8a2c3bb62b7665a20f51f)
|
|
|
|
Signed-off-by: Leonardo Bras <leobras@redhat.com>
|
|
|
|
---
|
|
|
|
migration/multifd.c | 2 ++
|
|
|
|
1 file changed, 2 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/migration/multifd.c b/migration/multifd.c
|
|
|
|
index 55d99a8232..0533da154a 100644
|
|
|
|
--- a/migration/multifd.c
|
|
|
|
+++ b/migration/multifd.c
|
|
|
|
@@ -354,6 +354,7 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams *p, Error **errp)
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ p->pages->block = block;
|
|
|
|
for (i = 0; i < p->pages->num; i++) {
|
|
|
|
uint64_t offset = be64_to_cpu(packet->offset[i]);
|
|
|
|
|
|
|
|
@@ -363,6 +364,7 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams *p, Error **errp)
|
|
|
|
offset, block->used_length);
|
|
|
|
return -1;
|
|
|
|
}
|
|
|
|
+ p->pages->offset[i] = offset;
|
|
|
|
p->pages->iov[i].iov_base = block->host + offset;
|
|
|
|
p->pages->iov[i].iov_len = page_size;
|
|
|
|
}
|
|
|
|
--
|
|
|
|
2.35.3
|
|
|
|
|