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:
parent
31e2ac742b
commit
8008a272d6
@ -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;
|
||||
uint64_t total = 0;
|
||||
|
||||
RCU_READ_LOCK_GUARD();
|
||||
|
||||
if (count_ignored) {
|
||||
RAMBLOCK_FOREACH_MIGRATABLE(block) {
|
||||
total += block->used_length;
|
||||
}
|
||||
} else {
|
||||
RAMBLOCK_FOREACH_NOT_IGNORED(block) {
|
||||
total += block->used_length;
|
||||
}
|
||||
RAMBLOCK_FOREACH_MIGRATABLE(block) {
|
||||
total += block->used_length;
|
||||
}
|
||||
return total;
|
||||
}
|
||||
|
||||
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)
|
||||
@ -3227,7 +3229,8 @@ static int ram_save_setup(QEMUFile *f, void *opaque)
|
||||
(*rsp)->pss[RAM_CHANNEL_PRECOPY].pss_channel = f;
|
||||
|
||||
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) {
|
||||
qemu_put_byte(f, strlen(block->idstr));
|
||||
|
Loading…
Reference in New Issue
Block a user