aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--migration/ram.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/migration/ram.c b/migration/ram.c
index cd7226ee4b..2f5cbd1727 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -244,14 +244,14 @@ uint64_t xbzrle_mig_pages_overflow(void)
return ram_state.xbzrle_overflows;
}
-static ram_addr_t ram_save_remaining(void)
+uint64_t ram_bytes_transferred(void)
{
- return ram_state.migration_dirty_pages;
+ return ram_state.bytes_transferred;
}
-uint64_t ram_bytes_transferred(void)
+uint64_t ram_bytes_remaining(void)
{
- return ram_state.bytes_transferred;
+ return ram_state.migration_dirty_pages * TARGET_PAGE_SIZE;
}
/* used by the search for pages to send */
@@ -1440,11 +1440,6 @@ void acct_update_position(QEMUFile *f, size_t size, bool zero)
}
}
-uint64_t ram_bytes_remaining(void)
-{
- return ram_save_remaining() * TARGET_PAGE_SIZE;
-}
-
uint64_t ram_bytes_total(void)
{
RAMBlock *block;
@@ -2212,7 +2207,7 @@ static void ram_save_pending(QEMUFile *f, void *opaque, uint64_t max_size,
RAMState *rs = opaque;
uint64_t remaining_size;
- remaining_size = ram_save_remaining() * TARGET_PAGE_SIZE;
+ remaining_size = rs->migration_dirty_pages * TARGET_PAGE_SIZE;
if (!migration_in_postcopy(migrate_get_current()) &&
remaining_size < max_size) {
@@ -2221,7 +2216,7 @@ static void ram_save_pending(QEMUFile *f, void *opaque, uint64_t max_size,
migration_bitmap_sync(rs);
rcu_read_unlock();
qemu_mutex_unlock_iothread();
- remaining_size = ram_save_remaining() * TARGET_PAGE_SIZE;
+ remaining_size = rs->migration_dirty_pages * TARGET_PAGE_SIZE;
}
/* We can do postcopy, and all the data is postcopiable */