diff --git a/src/runtime-rs/crates/hypervisor/src/qemu/inner.rs b/src/runtime-rs/crates/hypervisor/src/qemu/inner.rs index 2a2dbba699..66345a4c91 100644 --- a/src/runtime-rs/crates/hypervisor/src/qemu/inner.rs +++ b/src/runtime-rs/crates/hypervisor/src/qemu/inner.rs @@ -379,7 +379,17 @@ impl QemuInner { pub(crate) async fn capabilities(&self) -> Result { let mut caps = Capabilities::default(); - caps.set(CapabilityBits::FsSharingSupport); + + // Confidential Guest doesn't permit virtio-fs. + let flags = if self.hypervisor_config().security_info.confidential_guest { + CapabilityBits::BlockDeviceSupport | CapabilityBits::BlockDeviceHotplugSupport + } else { + CapabilityBits::BlockDeviceSupport + | CapabilityBits::BlockDeviceHotplugSupport + | CapabilityBits::FsSharingSupport + }; + caps.set(flags); + Ok(caps) }