diff options
author | Peter Maydell | 2018-03-12 14:21:53 +0100 |
---|---|---|
committer | Peter Maydell | 2018-03-12 14:21:53 +0100 |
commit | 819fd4699c7b36d574292bcbd8bc25e9d716c84b (patch) | |
tree | a995b942a87429dc57321eed30061ece68a7e159 /migration/ram.c | |
parent | Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20180309'... (diff) | |
parent | tests: Silence migration-test 'bad' test (diff) | |
download | qemu-819fd4699c7b36d574292bcbd8bc25e9d716c84b.tar.gz qemu-819fd4699c7b36d574292bcbd8bc25e9d716c84b.tar.xz qemu-819fd4699c7b36d574292bcbd8bc25e9d716c84b.zip |
Merge remote-tracking branch 'remotes/dgilbert/tags/pull-migration-20180309a' into staging
Migration pull 2018-03-09
# gpg: Signature made Fri 09 Mar 2018 17:52:46 GMT
# gpg: using RSA key 0516331EBC5BFDE7
# gpg: Good signature from "Dr. David Alan Gilbert (RH2) <dgilbert@redhat.com>"
# Primary key fingerprint: 45F5 C71B 4A0C B7FB 977A 9FA9 0516 331E BC5B FDE7
* remotes/dgilbert/tags/pull-migration-20180309a:
tests: Silence migration-test 'bad' test
migration: fix applying wrong capabilities
migration/block: rename MAX_INFLIGHT_IO to MAX_IO_BUFFERS
migration/block: reset dirty bitmap before read in bulk phase
migration: do not transfer ram during bulk storage migration
migration: fix minor finalize leak
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'migration/ram.c')
-rw-r--r-- | migration/ram.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/migration/ram.c b/migration/ram.c index 3b6c077964..7266351fd0 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -2258,6 +2258,13 @@ static int ram_save_iterate(QEMUFile *f, void *opaque) int64_t t0; int done = 0; + if (blk_mig_bulk_active()) { + /* Avoid transferring ram during bulk phase of block migration as + * the bulk phase will usually take a long time and transferring + * ram updates during that time is pointless. */ + goto out; + } + rcu_read_lock(); if (ram_list.version != rs->last_version) { ram_state_reset(rs); @@ -2304,6 +2311,7 @@ static int ram_save_iterate(QEMUFile *f, void *opaque) */ ram_control_after_iterate(f, RAM_CONTROL_ROUND); +out: qemu_put_be64(f, RAM_SAVE_FLAG_EOS); ram_counters.transferred += 8; |