From: Juan Quintela Date: Tue, 21 Jun 2022 11:20:35 +0000 (+0200) Subject: migration: Simplify ram_find_and_save_block() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=51efd36faf2553d9f311cece14198c2ba7ece991;p=qemu.git migration: Simplify ram_find_and_save_block() We will need later that find_dirty_block() return errors, so simplify the loop. Signed-off-by: Juan Quintela Reviewed-by: Dr. David Alan Gilbert Signed-off-by: Juan Quintela --- diff --git a/migration/ram.c b/migration/ram.c index b966e148c2..dd809fec1f 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2542,7 +2542,6 @@ static int ram_find_and_save_block(RAMState *rs) { PageSearchStatus *pss = &rs->pss[RAM_CHANNEL_PRECOPY]; int pages = 0; - bool again, found; /* No dirty page as there is zero RAM */ if (!ram_bytes_total()) { @@ -2564,18 +2563,17 @@ static int ram_find_and_save_block(RAMState *rs) pss_init(pss, rs->last_seen_block, rs->last_page); do { - again = true; - found = get_queued_page(rs, pss); - - if (!found) { + if (!get_queued_page(rs, pss)) { /* priority queue empty, so just search for something dirty */ - found = find_dirty_block(rs, pss, &again); - } - - if (found) { - pages = ram_save_host_page(rs, pss); + bool again = true; + if (!find_dirty_block(rs, pss, &again)) { + if (!again) { + break; + } + } } - } while (!pages && again); + pages = ram_save_host_page(rs, pss); + } while (!pages); rs->last_seen_block = pss->block; rs->last_page = pss->page;