Skip to content

Commit 9d61ea0

Browse files
hikejsclaude
andcommitted
feat(devices): add debug logging for device activation
Add informative debug logs when virtio devices are activated: 1. net_windows: Logs MAC address and backend connection status 2. vsock_windows: Logs CID, active streams, and pending RX count 3. balloon_windows: Logs num_pages and actual page count These logs help with debugging device initialization and provide visibility into the device state at activation time. Useful for troubleshooting guest driver issues or verifying device configuration. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent 9915da4 commit 9d61ea0

3 files changed

Lines changed: 19 additions & 0 deletions

File tree

src/devices/src/virtio/balloon_windows.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,13 @@ impl VirtioDevice for Balloon {
305305
self.activate_evt
306306
.write(1)
307307
.map_err(|_| super::ActivateError::BadActivate)?;
308+
309+
let num_pages = self.config.num_pages;
310+
let actual = self.config.actual;
311+
debug!(
312+
"balloon(windows): device activated, num_pages={}, actual={}",
313+
num_pages, actual
314+
);
308315
Ok(())
309316
}
310317

src/devices/src/virtio/net_windows.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -460,6 +460,12 @@ impl VirtioDevice for Net {
460460
self.activate_evt
461461
.write(1)
462462
.map_err(|_| ActivateError::BadActivate)?;
463+
464+
debug!(
465+
"net(windows): device activated, MAC={:02x}:{:02x}:{:02x}:{:02x}:{:02x}:{:02x}, backend={}",
466+
self.mac[0], self.mac[1], self.mac[2], self.mac[3], self.mac[4], self.mac[5],
467+
if self.backend.is_some() { "connected" } else { "none" }
468+
);
463469
Ok(())
464470
}
465471

src/devices/src/virtio/vsock_windows.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1010,12 +1010,18 @@ impl VirtioDevice for Vsock {
10101010

10111011
fn activate(&mut self, mem: GuestMemoryMmap, interrupt: InterruptTransport) -> ActivateResult {
10121012
if self.queues.len() != NUM_QUEUES {
1013+
error!("vsock(windows): expected {NUM_QUEUES} queues, got {}", self.queues.len());
10131014
return Err(ActivateError::BadActivate);
10141015
}
10151016
self.state = DeviceState::Activated(mem, interrupt);
10161017
self.activate_evt
10171018
.write(1)
10181019
.map_err(|_| ActivateError::BadActivate)?;
1020+
1021+
debug!(
1022+
"vsock(windows): device activated, CID={}, streams={}, pending_rx={}",
1023+
self.cid, self.streams.len(), self.pending_rx.len()
1024+
);
10191025
Ok(())
10201026
}
10211027

0 commit comments

Comments
 (0)