migration: Split ram_bytes_total_common() in two functions

It is just a big if in the middle of the function, and we need two
functions anways.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>

---

Reindent to make Phillipe happy (and CODING_STYLE)
This commit is contained in:
Juan Quintela 2022-05-10 19:18:19 +02:00
parent 31e2ac742b
commit 8008a272d6
1 changed files with 14 additions and 11 deletions

View File

@ -2601,28 +2601,30 @@ void acct_update_position(QEMUFile *f, size_t size, bool zero)
} }
} }
static uint64_t ram_bytes_total_common(bool count_ignored) static uint64_t ram_bytes_total_with_ignored(void)
{ {
RAMBlock *block; RAMBlock *block;
uint64_t total = 0; uint64_t total = 0;
RCU_READ_LOCK_GUARD(); RCU_READ_LOCK_GUARD();
if (count_ignored) { RAMBLOCK_FOREACH_MIGRATABLE(block) {
RAMBLOCK_FOREACH_MIGRATABLE(block) { total += block->used_length;
total += block->used_length;
}
} else {
RAMBLOCK_FOREACH_NOT_IGNORED(block) {
total += block->used_length;
}
} }
return total; return total;
} }
uint64_t ram_bytes_total(void) uint64_t ram_bytes_total(void)
{ {
return ram_bytes_total_common(false); RAMBlock *block;
uint64_t total = 0;
RCU_READ_LOCK_GUARD();
RAMBLOCK_FOREACH_NOT_IGNORED(block) {
total += block->used_length;
}
return total;
} }
static void xbzrle_load_setup(void) static void xbzrle_load_setup(void)
@ -3227,7 +3229,8 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
(*rsp)->pss[RAM_CHANNEL_PRECOPY].pss_channel = f; (*rsp)->pss[RAM_CHANNEL_PRECOPY].pss_channel = f;
WITH_RCU_READ_LOCK_GUARD() { WITH_RCU_READ_LOCK_GUARD() {
qemu_put_be64(f, ram_bytes_total_common(true) | RAM_SAVE_FLAG_MEM_SIZE); qemu_put_be64(f, ram_bytes_total_with_ignored()
| RAM_SAVE_FLAG_MEM_SIZE);
RAMBLOCK_FOREACH_MIGRATABLE(block) { RAMBLOCK_FOREACH_MIGRATABLE(block) {
qemu_put_byte(f, strlen(block->idstr)); qemu_put_byte(f, strlen(block->idstr));