diff --git a/compositediskconfig/Android.bp b/compositediskconfig/Android.bp
new file mode 100644
index 0000000..4608323
--- /dev/null
+++ b/compositediskconfig/Android.bp
@@ -0,0 +1,18 @@
+package {
+    default_applicable_licenses: ["Android-Apache-2.0"],
+}
+
+rust_library {
+    name: "libcompositediskconfig",
+    host_supported: true,
+    crate_name: "compositediskconfig",
+    srcs: ["src/lib.rs"],
+    edition: "2018",
+    rustlibs: [
+        "libserde_json",
+        "libserde",
+    ],
+    apex_available: [
+        "com.android.virt",
+    ],
+}
diff --git a/virtualizationservice/src/composite/config.rs b/compositediskconfig/src/lib.rs
similarity index 78%
rename from virtualizationservice/src/composite/config.rs
rename to compositediskconfig/src/lib.rs
index 1a915ba..3546dd3 100644
--- a/virtualizationservice/src/composite/config.rs
+++ b/compositediskconfig/src/lib.rs
@@ -12,13 +12,13 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
-//! JSON configuration for running `mk_cdisk`.
+//! JSON configuration for composite disks, as used for running `mk_cdisk` and by the `vm` tool.
 
-use anyhow::{Context, Error};
 use serde::{Deserialize, Serialize};
 use std::io::Write;
 use std::path::PathBuf;
 
+/// Configuration for running `mk_cdisk`.
 #[derive(Clone, Debug, Default, Deserialize, Eq, PartialEq, Serialize)]
 pub struct Config {
     /// The set of partitions to be assembled into a composite image.
@@ -38,7 +38,8 @@
 }
 
 impl Config {
-    pub fn write_json(&self, writer: impl Write) -> Result<(), Error> {
-        serde_json::to_writer(writer, self).context("Failed to write config JSON for mk_cdisk")
+    /// Write the configuration as JSON, in the format used by `mk_cdisk`.
+    pub fn write_json(&self, writer: impl Write) -> serde_json::Result<()> {
+        serde_json::to_writer(writer, self)
     }
 }
diff --git a/virtualizationservice/Android.bp b/virtualizationservice/Android.bp
index 2d78018..bad7f46 100644
--- a/virtualizationservice/Android.bp
+++ b/virtualizationservice/Android.bp
@@ -13,6 +13,7 @@
         "libandroid_logger",
         "libanyhow",
         "libcommand_fds",
+        "libcompositediskconfig",
         "liblog_rust",
         "libserde_json",
         "libserde",
diff --git a/virtualizationservice/src/composite.rs b/virtualizationservice/src/composite.rs
index eb738a7..37428eb 100644
--- a/virtualizationservice/src/composite.rs
+++ b/virtualizationservice/src/composite.rs
@@ -14,12 +14,10 @@
 
 //! Functions for running `mk_cdisk`.
 
-mod config;
-
 use android_system_virtualizationservice::aidl::android::system::virtualizationservice::Partition::Partition as AidlPartition;
 use anyhow::{bail, Context, Error};
 use command_fds::{CommandFdExt, FdMapping};
-use config::{Config, Partition};
+use compositediskconfig::{Config, Partition};
 use log::info;
 use std::fs::File;
 use std::os::unix::io::AsRawFd;
@@ -58,7 +56,9 @@
 
     // Write config to stdin of mk_cdisk on a separate thread to avoid deadlock, as it may not read
     // all of stdin before it blocks on writing to stdout.
-    let writer_thread = thread::spawn(move || config_json.write_json(&stdin));
+    let writer_thread = thread::spawn(move || {
+        config_json.write_json(&stdin).context("Failed to write config JSON for mk_cdisk")
+    });
     info!("Running {:?}", command);
     let output = child.wait_with_output()?;
     match writer_thread.join() {
diff --git a/vm/Android.bp b/vm/Android.bp
index e7148ca..c07beb2 100644
--- a/vm/Android.bp
+++ b/vm/Android.bp
@@ -10,6 +10,7 @@
     rustlibs: [
         "android.system.virtualizationservice-rust",
         "libanyhow",
+        "libcompositediskconfig",
         "libenv_logger",
         "liblibc",
         "liblog_rust",
diff --git a/vm/src/config.rs b/vm/src/config.rs
index 3bd023f..169fdab 100644
--- a/vm/src/config.rs
+++ b/vm/src/config.rs
@@ -21,6 +21,7 @@
     binder::ParcelFileDescriptor,
 };
 use anyhow::{bail, Context, Error};
+use compositediskconfig::Partition;
 use serde::{Deserialize, Serialize};
 use std::fs::{File, OpenOptions};
 use std::io::BufReader;
@@ -100,7 +101,7 @@
 impl DiskImage {
     fn to_parcelable(&self) -> Result<AidlDiskImage, Error> {
         let partitions =
-            self.partitions.iter().map(Partition::to_parcelable).collect::<Result<_, Error>>()?;
+            self.partitions.iter().map(partition_to_parcelable).collect::<Result<_, Error>>()?;
         Ok(AidlDiskImage {
             image: maybe_open_parcel_file(&self.image, self.writable)?,
             writable: self.writable,
@@ -109,27 +110,12 @@
     }
 }
 
-// TODO: Share this type with virtualizationservice::composite::config.
-/// A partition for a disk image to be made available to the VM.
-#[derive(Clone, Debug, Deserialize, Eq, PartialEq, Serialize)]
-pub struct Partition {
-    /// A label for the partition.
-    pub label: String,
-    /// The filename of the partition image.
-    pub path: PathBuf,
-    /// Whether the partition should be writable.
-    #[serde(default)]
-    pub writable: bool,
-}
-
-impl Partition {
-    fn to_parcelable(&self) -> Result<AidlPartition, Error> {
-        Ok(AidlPartition {
-            image: Some(open_parcel_file(&self.path, self.writable)?),
-            writable: self.writable,
-            label: self.label.to_owned(),
-        })
-    }
+fn partition_to_parcelable(partition: &Partition) -> Result<AidlPartition, Error> {
+    Ok(AidlPartition {
+        image: Some(open_parcel_file(&partition.path, partition.writable)?),
+        writable: partition.writable,
+        label: partition.label.to_owned(),
+    })
 }
 
 /// Try to open the given file and wrap it in a [`ParcelFileDescriptor`].
