Skip to content

Commit 41ff80f

Browse files
committed
refactor(verity): propagate conversion errors
1 parent 24a8ad1 commit 41ff80f

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

dstack/crates/dstack-verity/src/volume.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -370,11 +370,11 @@ fn write_volume_header(out: &mut fs::File, offset: u64, root_hash: &str) -> Resu
370370
use std::io::{Seek, SeekFrom, Write};
371371

372372
let root = hex::decode(root_hash).context("decoding verity root hash")?;
373-
if root.len() != 32 {
374-
bail!("verity root must be a 32-byte SHA-256 digest");
375-
}
376-
377-
let header = DstackVolumeHeader::new_verity(root.try_into().expect("length checked above"))
373+
let root: [u8; 32] = root
374+
.as_slice()
375+
.try_into()
376+
.context("verity root must be a 32-byte SHA-256 digest")?;
377+
let header = DstackVolumeHeader::new_verity(root)
378378
.encode()
379379
.context("encoding volume header")?;
380380

dstack/guest-agent/src/bin/dstack-volume.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -354,10 +354,10 @@ fn seed_docker(volume: &Path) -> Result<()> {
354354
if !source.is_dir() {
355355
continue;
356356
}
357-
let target = store
358-
.join("overlay2")
359-
.join(layer.file_name().unwrap())
360-
.join("diff");
357+
let layer_id = layer
358+
.file_name()
359+
.context("docker layer path has no file name")?;
360+
let target = store.join("overlay2").join(layer_id).join("diff");
361361
fs::create_dir_all(&target)?;
362362
if !is_mountpoint(&target)? {
363363
if let Err(err) = checked(

0 commit comments

Comments
 (0)