migration/ram.c: reset complete_round when we gets a queued page
In case we gets a queued page, the order of block is interrupted. We may not rely on the complete_round flag to say we have already searched the whole blocks on the list. Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Message-Id: <20190605010828.6969-1-richardw.yang@linux.intel.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
77568ea7f8
commit
422314e751
|
@ -2286,6 +2286,12 @@ static bool get_queued_page(RAMState *rs, PageSearchStatus *pss)
|
||||||
*/
|
*/
|
||||||
pss->block = block;
|
pss->block = block;
|
||||||
pss->page = offset >> TARGET_PAGE_BITS;
|
pss->page = offset >> TARGET_PAGE_BITS;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This unqueued page would break the "one round" check, even is
|
||||||
|
* really rare.
|
||||||
|
*/
|
||||||
|
pss->complete_round = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return !!block;
|
return !!block;
|
||||||
|
|
Loading…
Reference in a new issue