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
Generated
+25 -50
View File
@@ -273,6 +273,28 @@ version = "2.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42"
[[package]]
name = "block"
version = "0.1.0"
dependencies = [
"byteorder",
"crc32c",
"io-uring",
"libc",
"log",
"remain",
"smallvec",
"thiserror",
"uuid",
"versionize",
"versionize_derive",
"virtio-bindings",
"virtio-queue",
"vm-memory",
"vm-virtio",
"vmm-sys-util",
]
[[package]]
name = "block-buffer"
version = "0.10.4"
@@ -282,26 +304,6 @@ dependencies = [
"generic-array",
]
[[package]]
name = "block_util"
version = "0.1.0"
dependencies = [
"io-uring",
"libc",
"log",
"qcow",
"smallvec",
"thiserror",
"versionize",
"versionize_derive",
"vhdx",
"virtio-bindings",
"virtio-queue",
"vm-memory",
"vm-virtio",
"vmm-sys-util",
]
[[package]]
name = "blocking"
version = "1.3.1"
@@ -1452,17 +1454,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"
@@ -2070,19 +2061,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"
@@ -2114,13 +2092,12 @@ name = "vhost_user_block"
version = "0.1.0"
dependencies = [
"argh",
"block_util",
"block",
"env_logger",
"epoll",
"libc",
"log",
"option_parser",
"qcow",
"vhost",
"vhost-user-backend",
"virtio-bindings",
@@ -2159,7 +2136,7 @@ version = "0.1.0"
dependencies = [
"anyhow",
"arc-swap",
"block_util",
"block",
"byteorder",
"epoll",
"event_monitor",
@@ -2268,7 +2245,7 @@ dependencies = [
"arc-swap",
"arch",
"bitflags 2.3.3",
"block_util",
"block",
"blocking",
"devices",
"epoll",
@@ -2285,7 +2262,6 @@ dependencies = [
"once_cell",
"option_parser",
"pci",
"qcow",
"seccompiler",
"serde",
"serde_json",
@@ -2298,7 +2274,6 @@ dependencies = [
"versionize_derive",
"vfio-ioctls",
"vfio_user",
"vhdx",
"virtio-devices",
"virtio-queue",
"vm-allocator",