mirror of
https://github.com/cloud-hypervisor/cloud-hypervisor.git
synced 2026-08-05 02:19:16 +00:00
block: merge qcow, vhdx and block_util into block crate
This commit merges crates `qcow`, `vhdx` and `block_util` into the crate `block`, which can allow `qcow` to use functions from `block_util` without introducing a circular crate dependency. This commit is based on crosvm implementation: https://chromium.googlesource.com/crosvm/crosvm/+/f2eecc4152eca8d395566cffa2c102ec090a152d Signed-off-by: Yu Li <liyu.yukiteru@bytedance.com>
This commit is contained in:
+2
-4
@@ -8,7 +8,7 @@ edition = "2021"
|
||||
default = []
|
||||
dbus_api = ["blocking", "futures", "zbus"]
|
||||
guest_debug = ["kvm", "gdbstub", "gdbstub_arch"]
|
||||
io_uring = ["block_util/io_uring"]
|
||||
io_uring = ["block/io_uring"]
|
||||
kvm = ["hypervisor/kvm", "vfio-ioctls/kvm", "vm-device/kvm", "pci/kvm"]
|
||||
mshv = ["hypervisor/mshv", "vfio-ioctls/mshv", "vm-device/mshv", "pci/mshv"]
|
||||
tdx = ["arch/tdx", "hypervisor/tdx"]
|
||||
@@ -20,7 +20,7 @@ anyhow = "1.0.71"
|
||||
arc-swap = "1.5.1"
|
||||
arch = { path = "../arch" }
|
||||
bitflags = "2.3.3"
|
||||
block_util = { path = "../block_util" }
|
||||
block = { path = "../block" }
|
||||
blocking = { version = "1.3.0", optional = true }
|
||||
devices = { path = "../devices" }
|
||||
epoll = "4.3.3"
|
||||
@@ -37,7 +37,6 @@ net_util = { path = "../net_util" }
|
||||
once_cell = "1.18.0"
|
||||
option_parser = { path = "../option_parser" }
|
||||
pci = { path = "../pci" }
|
||||
qcow = { path = "../qcow" }
|
||||
seccompiler = "0.3.0"
|
||||
serde = { version = "1.0.164", features = ["rc", "derive"] }
|
||||
serde_json = "1.0.96"
|
||||
@@ -50,7 +49,6 @@ versionize = "0.1.10"
|
||||
versionize_derive = "0.1.4"
|
||||
vfio-ioctls = { git = "https://github.com/rust-vmm/vfio", branch = "main", default-features = false }
|
||||
vfio_user = { git = "https://github.com/rust-vmm/vfio-user", branch = "main" }
|
||||
vhdx = { path = "../vhdx" }
|
||||
virtio-devices = { path = "../virtio-devices" }
|
||||
virtio-queue = "0.8.0"
|
||||
vm-allocator = { path = "../vm-allocator" }
|
||||
|
||||
@@ -34,13 +34,13 @@ use arch::layout::{APIC_START, IOAPIC_SIZE, IOAPIC_START};
|
||||
use arch::NumaNodes;
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
use arch::{DeviceType, MmioDeviceInfo};
|
||||
use block_util::{
|
||||
use block::{
|
||||
async_io::DiskFile, block_io_uring_is_supported, detect_image_type,
|
||||
fixed_vhd_sync::FixedVhdDiskSync, qcow_sync::QcowDiskSync, raw_sync::RawFileDiskSync,
|
||||
vhdx_sync::VhdxDiskSync, ImageType,
|
||||
fixed_vhd_sync::FixedVhdDiskSync, qcow, qcow_sync::QcowDiskSync, raw_sync::RawFileDiskSync,
|
||||
vhdx, vhdx_sync::VhdxDiskSync, ImageType,
|
||||
};
|
||||
#[cfg(feature = "io_uring")]
|
||||
use block_util::{fixed_vhd_async::FixedVhdDiskAsync, raw_async::RawFileDisk};
|
||||
use block::{fixed_vhd_async::FixedVhdDiskAsync, raw_async::RawFileDisk};
|
||||
#[cfg(target_arch = "aarch64")]
|
||||
use devices::gic;
|
||||
#[cfg(target_arch = "x86_64")]
|
||||
@@ -424,7 +424,7 @@ pub enum DeviceManagerError {
|
||||
CreateQcowDiskSync(qcow::Error),
|
||||
|
||||
/// Failed to create FixedVhdxDiskSync
|
||||
CreateFixedVhdxDiskSync(vhdx::vhdx::VhdxError),
|
||||
CreateFixedVhdxDiskSync(vhdx::VhdxError),
|
||||
|
||||
/// Failed to add DMA mapping handler to virtio-mem device.
|
||||
AddDmaMappingHandlerVirtioMem(virtio_devices::mem::Error),
|
||||
|
||||
Reference in New Issue
Block a user