mirror of https://github.com/xemu-project/xemu.git
migration: Guard ram_bytes_remaining against early call
Calling ram_bytes_remaining during the early part of setup is unsafe because the ram_state isn't yet initialised. This can happen in the sequence: migrate migrate_cancel info migrate if the migrate sticks trying to connect (e.g. to an unresponsive destination due to the connect timeout). Here 'info migrate' sees a state of CANCELLING and so assumes the migrate has partially happened. partial fix for: RH bz: https://bugzilla.redhat.com/show_bug.cgi?id=1525899 Reported-by: Xianxian Wang <xianwang@redhat.com> Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
ca6011c232
commit
bae416e5ba
|
@ -237,7 +237,8 @@ static RAMState *ram_state;
|
||||||
|
|
||||||
uint64_t ram_bytes_remaining(void)
|
uint64_t ram_bytes_remaining(void)
|
||||||
{
|
{
|
||||||
return ram_state->migration_dirty_pages * TARGET_PAGE_SIZE;
|
return ram_state ? (ram_state->migration_dirty_pages * TARGET_PAGE_SIZE) :
|
||||||
|
0;
|
||||||
}
|
}
|
||||||
|
|
||||||
MigrationStats ram_counters;
|
MigrationStats ram_counters;
|
||||||
|
|
Loading…
Reference in New Issue