20 Star 29 Fork 145

src-openEuler/qemu
关闭

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
migration-multifd-Change-retval-of-multifd_queue_pag.patch 2.68 KB
一键复制 编辑 原始数据 按行查看 历史
张鹏瑞 提交于 2025-05-27 18:51 +08:00 . QEMU update to version 8.2.0-33:
From d95c440bb62e6eb30b3777e10d94fbc72b7f65a4 Mon Sep 17 00:00:00 2001
From: Peter Xu <peterx@redhat.com>
Date: Fri, 2 Feb 2024 18:28:50 +0800
Subject: [40/99] migration/multifd: Change retval of multifd_queue_page()
commit d6556d174a6b9fc443f2320193f18e71eb67052a upstream.
Using int is an overkill when there're only two options. Change it to a
boolean.
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20240202102857.110210-17-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Jason Zeng <jason.zeng@intel.com>
---
migration/multifd.c | 9 +++++----
migration/multifd.h | 2 +-
migration/ram.c | 2 +-
3 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/migration/multifd.c b/migration/multifd.c
index 59ccc42c05..c48c031009 100644
--- a/migration/multifd.c
+++ b/migration/multifd.c
@@ -506,7 +506,8 @@ static int multifd_send_pages(void)
return 1;
}
-int multifd_queue_page(RAMBlock *block, ram_addr_t offset)
+/* Returns true if enqueue successful, false otherwise */
+bool multifd_queue_page(RAMBlock *block, ram_addr_t offset)
{
MultiFDPages_t *pages = multifd_send_state->pages;
bool changed = false;
@@ -520,21 +521,21 @@ int multifd_queue_page(RAMBlock *block, ram_addr_t offset)
pages->num++;
if (pages->num < pages->allocated) {
- return 1;
+ return true;
}
} else {
changed = true;
}
if (multifd_send_pages() < 0) {
- return -1;
+ return false;
}
if (changed) {
return multifd_queue_page(block, offset);
}
- return 1;
+ return true;
}
/* Multifd send side hit an error; remember it and prepare to quit */
diff --git a/migration/multifd.h b/migration/multifd.h
index 34a2ecb9f4..a320c53a6f 100644
--- a/migration/multifd.h
+++ b/migration/multifd.h
@@ -22,7 +22,7 @@ bool multifd_recv_all_channels_created(void);
void multifd_recv_new_channel(QIOChannel *ioc, Error **errp);
void multifd_recv_sync_main(void);
int multifd_send_sync_main(void);
-int multifd_queue_page(RAMBlock *block, ram_addr_t offset);
+bool multifd_queue_page(RAMBlock *block, ram_addr_t offset);
/* Multifd Compression flags */
#define MULTIFD_FLAG_SYNC (1 << 0)
diff --git a/migration/ram.c b/migration/ram.c
index 67fa9c83d6..9630b654c2 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -1389,7 +1389,7 @@ static int ram_save_page(RAMState *rs, PageSearchStatus *pss)
static int ram_save_multifd_page(RAMBlock *block, ram_addr_t offset)
{
- if (multifd_queue_page(block, offset) < 0) {
+ if (!multifd_queue_page(block, offset)) {
return -1;
}
stat64_add(&mig_stats.normal_pages, 1);
--
2.33.0
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/src-openeuler/qemu.git
git@gitee.com:src-openeuler/qemu.git
src-openeuler
qemu
qemu
master

搜索帮助