diff --git a/vmm/src/lib.rs b/vmm/src/lib.rs index 96331fffa..bcfa41e27 100644 --- a/vmm/src/lib.rs +++ b/vmm/src/lib.rs @@ -2305,6 +2305,8 @@ impl RequestHandler for Vmm { // Accept the connection and get the socket let mut socket = Vmm::receive_migration_socket(&receive_data_migration.receiver_url)?; + event!("vm", "migration-receive-started"); + let mut state = ReceiveMigrationState::Established; while !state.finished() { @@ -2334,8 +2336,11 @@ impl RequestHandler for Vmm { } if let ReceiveMigrationState::Aborted = state { + event!("vm", "migration-receive-failed"); self.vm = None; self.vm_config = None; + } else { + event!("vm", "migration-receive-finished"); } Ok(()) @@ -2379,6 +2384,7 @@ impl RequestHandler for Vmm { ))); } + event!("vm", "migration-started"); Self::send_migration( vm, #[cfg(all(feature = "kvm", target_arch = "x86_64"))] @@ -2387,6 +2393,7 @@ impl RequestHandler for Vmm { ) .map_err(|migration_err| { error!("Migration failed: {migration_err:?}"); + event!("vm", "migration-failed"); // Stop logging dirty pages only for non-local migrations if !send_data_migration.local @@ -2404,6 +2411,8 @@ impl RequestHandler for Vmm { migration_err })?; + event!("vm", "migration-finished"); + // Shutdown the VM after the migration succeeded self.exit_evt.write(1).map_err(|e| { MigratableError::MigrateSend(anyhow!(