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:
Yu Li
2023-07-12 10:24:28 +08:00
committed by Rob Bradford
parent 47fbe9af1e
commit 447cad3861
38 changed files with 117 additions and 201 deletions
+8 -34
View File
@@ -107,18 +107,20 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
[[package]]
name = "block_util"
name = "block"
version = "0.1.0"
dependencies = [
"byteorder",
"crc32c",
"io-uring",
"libc",
"log",
"qcow",
"remain",
"smallvec",
"thiserror",
"uuid",
"versionize",
"versionize_derive",
"vhdx",
"virtio-bindings",
"virtio-queue",
"vm-memory",
@@ -175,7 +177,7 @@ dependencies = [
name = "cloud-hypervisor-fuzz"
version = "0.0.0"
dependencies = [
"block_util",
"block",
"cloud-hypervisor",
"devices",
"epoll",
@@ -185,9 +187,7 @@ dependencies = [
"micro_http",
"net_util",
"once_cell",
"qcow",
"seccompiler",
"vhdx",
"virtio-devices",
"virtio-queue",
"vm-device",
@@ -495,17 +495,6 @@ dependencies = [
"unicode-ident",
]
[[package]]
name = "qcow"
version = "0.1.0"
dependencies = [
"byteorder",
"libc",
"log",
"remain",
"vmm-sys-util",
]
[[package]]
name = "quote"
version = "1.0.29"
@@ -802,19 +791,6 @@ dependencies = [
"vmm-sys-util",
]
[[package]]
name = "vhdx"
version = "0.1.0"
dependencies = [
"byteorder",
"crc32c",
"libc",
"log",
"remain",
"thiserror",
"uuid",
]
[[package]]
name = "vhost"
version = "0.7.0"
@@ -839,7 +815,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"arc-swap",
"block_util",
"block",
"byteorder",
"epoll",
"event_monitor",
@@ -948,7 +924,7 @@ dependencies = [
"arc-swap",
"arch",
"bitflags 2.3.3",
"block_util",
"block",
"devices",
"epoll",
"event_monitor",
@@ -961,7 +937,6 @@ dependencies = [
"once_cell",
"option_parser",
"pci",
"qcow",
"seccompiler",
"serde",
"serde_json",
@@ -974,7 +949,6 @@ dependencies = [
"versionize_derive",
"vfio-ioctls",
"vfio_user",
"vhdx",
"virtio-devices",
"virtio-queue",
"vm-allocator",