diff --git a/vm-virtio/src/vhost_user/blk.rs b/vm-virtio/src/vhost_user/blk.rs index d53a21ac9..79f52f2d9 100644 --- a/vm-virtio/src/vhost_user/blk.rs +++ b/vm-virtio/src/vhost_user/blk.rs @@ -14,6 +14,7 @@ use libc::EFD_NONBLOCK; use std::cmp; use std::io::Write; use std::mem; +use std::os::unix::io::AsRawFd; use std::result; use std::sync::atomic::{AtomicBool, Ordering}; use std::sync::Arc; @@ -314,6 +315,10 @@ impl VirtioDevice for Blk { self.queue_evts.take().unwrap(), )) } + + fn shutdown(&mut self) { + let _ = unsafe { libc::close(self.vhost_user_blk.as_raw_fd()) }; + } } virtio_pausable!(Blk);