From b4d276bc2b515c43b2df93174d9070e9a2b2119f Mon Sep 17 00:00:00 2001 From: "alex.lyn" Date: Thu, 10 Jul 2025 15:46:58 +0800 Subject: [PATCH] runtime-rs: Handle virtio-scsi within device manager It should be correctly handled within the device manager when do create_block_device if the driver_option is virtio-scsi. Signed-off-by: alex.lyn --- .../crates/hypervisor/src/device/device_manager.rs | 8 ++++++-- src/runtime-rs/crates/hypervisor/src/device/driver/mod.rs | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/runtime-rs/crates/hypervisor/src/device/device_manager.rs b/src/runtime-rs/crates/hypervisor/src/device/device_manager.rs index 6ab6bfea33..1b01e5738f 100644 --- a/src/runtime-rs/crates/hypervisor/src/device/device_manager.rs +++ b/src/runtime-rs/crates/hypervisor/src/device/device_manager.rs @@ -8,14 +8,15 @@ use std::{collections::HashMap, sync::Arc}; use anyhow::{anyhow, Context, Result}; use kata_sys_util::rand::RandomBytes; -use kata_types::config::hypervisor::TopologyConfigInfo; +use kata_types::config::hypervisor::{TopologyConfigInfo, VIRTIO_SCSI}; use tokio::sync::{Mutex, RwLock}; use crate::{ vhost_user_blk::VhostUserBlkDevice, BlockConfig, BlockDevice, HybridVsockDevice, Hypervisor, NetworkDevice, PCIePortDevice, ProtectionDevice, ShareFsDevice, VfioDevice, VhostUserConfig, VhostUserNetDevice, VsockDevice, KATA_BLK_DEV_TYPE, KATA_CCW_DEV_TYPE, KATA_MMIO_BLK_DEV_TYPE, - KATA_NVDIMM_DEV_TYPE, VIRTIO_BLOCK_CCW, VIRTIO_BLOCK_MMIO, VIRTIO_BLOCK_PCI, VIRTIO_PMEM, + KATA_NVDIMM_DEV_TYPE, KATA_SCSI_DEV_TYPE, VIRTIO_BLOCK_CCW, VIRTIO_BLOCK_MMIO, + VIRTIO_BLOCK_PCI, VIRTIO_PMEM, }; use super::{ @@ -471,6 +472,9 @@ impl DeviceManager { block_config.driver_option = KATA_NVDIMM_DEV_TYPE.to_string(); is_pmem = true; } + VIRTIO_SCSI => { + block_config.driver_option = KATA_SCSI_DEV_TYPE.to_string(); + } _ => { return Err(anyhow!( "unsupported driver type {}", diff --git a/src/runtime-rs/crates/hypervisor/src/device/driver/mod.rs b/src/runtime-rs/crates/hypervisor/src/device/driver/mod.rs index d1069dade7..71a24ef8f6 100644 --- a/src/runtime-rs/crates/hypervisor/src/device/driver/mod.rs +++ b/src/runtime-rs/crates/hypervisor/src/device/driver/mod.rs @@ -25,7 +25,8 @@ pub use vhost_user::{VhostUserConfig, VhostUserDevice, VhostUserType}; pub use vhost_user_net::VhostUserNetDevice; pub use virtio_blk::{ BlockConfig, BlockDevice, KATA_BLK_DEV_TYPE, KATA_CCW_DEV_TYPE, KATA_MMIO_BLK_DEV_TYPE, - KATA_NVDIMM_DEV_TYPE, VIRTIO_BLOCK_CCW, VIRTIO_BLOCK_MMIO, VIRTIO_BLOCK_PCI, VIRTIO_PMEM, + KATA_NVDIMM_DEV_TYPE, KATA_SCSI_DEV_TYPE, VIRTIO_BLOCK_CCW, VIRTIO_BLOCK_MMIO, + VIRTIO_BLOCK_PCI, VIRTIO_PMEM, }; pub use virtio_fs::{ ShareFsConfig, ShareFsDevice, ShareFsMountConfig, ShareFsMountOperation, ShareFsMountType,