Parse the feature name table header extension to provide descriptive error messages when unsupported incompatible features are detected. Currently only the compression bit (bit 3, zstd) is supported. This prevents opening qcow2 images with features that would cause incorrect behavior or data corruption (e.g., dirty bit, corrupt bit, external data file, extended L2 entries). Feature names are defined as follows: 1. The image's feature name table header extension (if present) 2. Hardcoded fallback names for known features 3. Generic "unknown feature bit N" for undefined features Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com> Co-developed-by: Philipp Schuster <philipp.schuster@cyberus-technology.de>
36 lines
877 B
TOML
36 lines
877 B
TOML
[package]
|
|
authors = ["The Chromium OS Authors", "The Cloud Hypervisor Authors"]
|
|
edition.workspace = true
|
|
name = "block"
|
|
version = "0.1.0"
|
|
|
|
[features]
|
|
default = []
|
|
io_uring = ["dep:io-uring"]
|
|
|
|
[dependencies]
|
|
bitflags = { workspace = true }
|
|
byteorder = { workspace = true }
|
|
crc-any = "2.5.0"
|
|
flate2 = "1.1"
|
|
io-uring = { version = "0.7.11", optional = true }
|
|
libc = { workspace = true }
|
|
log = { workspace = true }
|
|
remain = "0.2.15"
|
|
serde = { workspace = true, features = ["derive"] }
|
|
smallvec = "1.15.1"
|
|
thiserror = { workspace = true }
|
|
uuid = { workspace = true, features = ["v4"] }
|
|
virtio-bindings = { workspace = true }
|
|
virtio-queue = { workspace = true }
|
|
vm-memory = { workspace = true, features = [
|
|
"backend-atomic",
|
|
"backend-bitmap",
|
|
"backend-mmap",
|
|
] }
|
|
vm-virtio = { path = "../vm-virtio" }
|
|
vmm-sys-util = { workspace = true }
|
|
zstd = "0.13"
|
|
|
|
[lints]
|
|
workspace = true
|