summary refs log tree commit diff
path: root/Cargo.lock
diff options
context:
space:
mode:
authorCody Schuffelen <schuffelen@google.com>2019-07-08 16:14:24 -0700
committerCommit Bot <commit-bot@chromium.org>2019-10-03 00:59:14 +0000
commitf9b035d50c431c2a544ad1cb91ca5121165ae7aa (patch)
treec1b4a9127d8d24502cff87210ccff82bbcb0f2ec /Cargo.lock
parentb5237bbcf074eb30cf368a138c0835081e747d71 (diff)
downloadcrosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.tar
crosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.tar.gz
crosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.tar.bz2
crosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.tar.lz
crosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.tar.xz
crosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.tar.zst
crosvm-f9b035d50c431c2a544ad1cb91ca5121165ae7aa.zip
Support composite disks.
This adds a new disk file type next to raw files and qcow images that
represent an indirection to further raw disk files. The disk file
itself is a proto file with references to file paths for other disks to
open and their virtual offsets and lengths.

The intention is to make it easy to assemble a single virtual hard disk
out of several distinct partition files. In the particular case of
Cuttlefish running Android in a VM, this is relevant as the Android
build system distributes partitions as separate raw files. While the
simple solution is to pass each partition as a separate raw disk, some
functionality (like the bootloader) assumes there is a partition table
with multiple distinct partitions on a single disk.

Implementing composite disk support in the VMM bridges this gap through
supporting the general-purpose case of a disk built out of multiple
component files.

If desired, this can be extended to support qcow files to support
unusual configurations like a mixed qcow/raw disk.

Enabled with the "composite-disk" feature.

Bug: b/133432409
Change-Id: I2b0c47d92fab13b5dc0ca5a960c7cfd2b7145b87
Signed-off-by: Cody Schuffelen <schuffelen@google.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1667767
Reviewed-by: Daniel Verkamp <dverkamp@chromium.org>
Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'Cargo.lock')
-rw-r--r--Cargo.lock3
1 files changed, 3 insertions, 0 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 8017a34..b20bee3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -171,7 +171,10 @@ dependencies = [
 name = "disk"
 version = "0.1.0"
 dependencies = [
+ "data_model 0.1.0",
  "libc 0.2.44 (registry+https://github.com/rust-lang/crates.io-index)",
+ "protobuf 2.4.2 (registry+https://github.com/rust-lang/crates.io-index)",
+ "protos 0.1.0",
  "qcow 0.1.0",
  "remain 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
  "sys_util 0.1.0",