[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 5/6] multifd: Add the ramblock to MultiFDRecvParams
|
From: |
Lukas Straub |
|
Subject: |
[PATCH v2 5/6] multifd: Add the ramblock to MultiFDRecvParams |
|
Date: |
Mon, 8 May 2023 21:11:07 +0200 |
This will be used in the next commits to add colo support to multifd.
Signed-off-by: Lukas Straub <lukasstraub2@web.de>
---
migration/multifd.c | 11 +++++------
migration/multifd.h | 2 ++
2 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/migration/multifd.c b/migration/multifd.c
index fb5e8859de..fddbf86596 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -284,7 +284,6 @@ static void multifd_send_fill_packet(MultiFDSendParams *p)
static int multifd_recv_unfill_packet(MultiFDRecvParams *p, Error **errp)
{
MultiFDPacket_t *packet = p->packet;
- RAMBlock *block;
int i;
packet->magic = be32_to_cpu(packet->magic);
@@ -334,21 +333,21 @@ static int multifd_recv_unfill_packet(MultiFDRecvParams
*p, Error **errp)
/* make sure that ramblock is 0 terminated */
packet->ramblock[255] = 0;
- block = qemu_ram_block_by_name(packet->ramblock);
- if (!block) {
+ p->block = qemu_ram_block_by_name(packet->ramblock);
+ if (!p->block) {
error_setg(errp, "multifd: unknown ram block %s",
packet->ramblock);
return -1;
}
- p->host = block->host;
+ p->host = p->block->host;
for (i = 0; i < p->normal_num; i++) {
uint64_t offset = be64_to_cpu(packet->offset[i]);
- if (offset > (block->used_length - p->page_size)) {
+ if (offset > (p->block->used_length - p->page_size)) {
error_setg(errp, "multifd: offset too long %" PRIu64
" (max " RAM_ADDR_FMT ")",
- offset, block->used_length);
+ offset, p->block->used_length);
return -1;
}
p->normal[i] = offset;
diff --git a/migration/multifd.h b/migration/multifd.h
index 7cfc265148..a835643b48 100644
--- a/migration/multifd.h
+++ b/migration/multifd.h
@@ -175,6 +175,8 @@ typedef struct {
uint32_t next_packet_size;
/* packets sent through this channel */
uint64_t num_packets;
+ /* ramblock */
+ RAMBlock *block;
/* ramblock host address */
uint8_t *host;
/* non zero pages recv through this channel */
--
2.39.2
pgpnvSk6bkQCE.pgp
Description: OpenPGP digital signature
- [PATCH v2 0/6] multifd: Add colo support, Lukas Straub, 2023/05/08
- [PATCH v2 1/6] ram: Add public helper to set colo bitmap, Lukas Straub, 2023/05/08
- [PATCH v2 2/6] ram: Let colo_flush_ram_cache take the bitmap_mutex, Lukas Straub, 2023/05/08
- [PATCH v2 3/6] multifd: Introduce multifd-internal.h, Lukas Straub, 2023/05/08
- [PATCH v2 4/6] multifd: Introduce a overridable revc_pages method, Lukas Straub, 2023/05/08
- [PATCH v2 5/6] multifd: Add the ramblock to MultiFDRecvParams,
Lukas Straub <=
- [PATCH v2 6/6] multifd: Add colo support, Lukas Straub, 2023/05/08