Start the dirty log in the hypervisor (kvm/mshv). Also, reset the dirty bitmap logged by the vmm. Just before we do a bulk copy we want to start/clear the dirty log so that pages touched during our bulk copy are tracked.
(&mut self)
| 3243 | // Just before we do a bulk copy we want to start/clear the dirty log so that |
| 3244 | // pages touched during our bulk copy are tracked. |
| 3245 | fn start_dirty_log(&mut self) -> std::result::Result<(), MigratableError> { |
| 3246 | self.vm.start_dirty_log().map_err(|e| { |
| 3247 | MigratableError::MigrateSend(anyhow!("Error starting VM dirty log {e}")) |
| 3248 | })?; |
| 3249 | |
| 3250 | for r in self.guest_memory.memory().iter() { |
| 3251 | (**r).bitmap().reset(); |
| 3252 | } |
| 3253 | |
| 3254 | Ok(()) |
| 3255 | } |
| 3256 | |
| 3257 | fn stop_dirty_log(&mut self) -> std::result::Result<(), MigratableError> { |
| 3258 | self.vm.stop_dirty_log().map_err(|e| { |