migration: fix ram_save_pending

Fill postcopy-able pending only if ram postcopy is enabled.
It is necessary because of there will be other postcopy-able states and
when ram postcopy is disabled, it should not spoil common postcopy
related pending.

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-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:
Vladimir Sementsov-Ogievskiy 2017-07-10 19:30:15 +03:00 committed by Juan Quintela
parent c646762736
commit 86e1167e9a
1 changed files with 6 additions and 2 deletions

View File

@ -2276,8 +2276,12 @@ static void ram_save_pending(QEMUFile *f, void *opaque, uint64_t max_size,
remaining_size = rs->migration_dirty_pages * TARGET_PAGE_SIZE;
}
/* We can do postcopy, and all the data is postcopiable */
*postcopiable_pending += remaining_size;
if (migrate_postcopy_ram()) {
/* We can do postcopy, and all the data is postcopiable */
*postcopiable_pending += remaining_size;
} else {
*non_postcopiable_pending += remaining_size;
}
}
static int load_xbzrle(QEMUFile *f, ram_addr_t addr, void *host)