diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2009-05-01 20:52:47 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-05-22 10:50:33 -0500 |
commit | 151f7749f26e8b0eaca517376a89c01430c584e5 (patch) | |
tree | 2ccfe9051ffcf589965e7af7c9ad7a5e8f30f0f3 /exec.c | |
parent | 62518b8b1dccb67969688228f14fb379f1918ede (diff) |
kvm: Rework dirty bitmap synchronization
Extend kvm_physical_sync_dirty_bitmap() so that is can sync across
multiple slots. Useful for updating the whole dirty log during
migration. Moreover, properly pass down errors the whole call chain.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'exec.c')
-rw-r--r-- | exec.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -1931,10 +1931,14 @@ int cpu_physical_memory_get_dirty_tracking(void) return in_migration; } -void cpu_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, target_phys_addr_t end_addr) +int cpu_physical_sync_dirty_bitmap(target_phys_addr_t start_addr, + target_phys_addr_t end_addr) { + int ret = 0; + if (kvm_enabled()) - kvm_physical_sync_dirty_bitmap(start_addr, end_addr); + ret = kvm_physical_sync_dirty_bitmap(start_addr, end_addr); + return ret; } static inline void tlb_update_dirty(CPUTLBEntry *tlb_entry) |