diff --git a/migration/ram.c b/migration/ram.c index cedbeae48d5a0f416e18f5af027be19ed04b7466..88ca69e7b2e62d4c74cea2894f3a9145e7f4a8ff 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -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)