Skip to content

Commit 6336392

Browse files
committed
Fix issues with src/snapshot-editor/src/utils.rs
1 parent fd8040c commit 6336392

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

src/snapshot-editor/src/utils.rs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ use std::path::PathBuf;
77
use fc_utils::u64_to_usize;
88
use semver::Version;
99
use vmm::persist::MicrovmState;
10-
use vmm::snapshot::Snapshot;
10+
use vmm::snapshot::{Snapshot, SnapshotError, SnapshotHdr};
1111

1212
// Some errors are only used in aarch64 code
1313
#[allow(unused)]
@@ -26,11 +26,13 @@ pub enum UtilsError {
2626
}
2727

2828
#[allow(unused)]
29-
pub fn open_vmstate(snapshot_path: &PathBuf) -> Result<(MicrovmState, Version), UtilsError> {
29+
pub fn open_vmstate(snapshot_path: &PathBuf) -> Result<Snapshot<MicrovmState>, UtilsError> {
3030
let mut snapshot_reader = File::open(snapshot_path).map_err(UtilsError::VmStateFileOpen)?;
3131
let metadata = std::fs::metadata(snapshot_path).map_err(UtilsError::VmStateFileMeta)?;
3232
let snapshot_len = u64_to_usize(metadata.len());
33-
Snapshot::load(&mut snapshot_reader, snapshot_len).map_err(UtilsError::VmStateLoad)
33+
34+
let snapshot: Result<Snapshot<MicrovmState>, UtilsError> = Snapshot::load(&mut snapshot_reader, snapshot_len).map_err(UtilsError::VmStateLoad);
35+
snapshot
3436
}
3537

3638
// This method is used only in aarch64 code so far
@@ -46,9 +48,10 @@ pub fn save_vmstate(
4648
.truncate(true)
4749
.open(output_path)
4850
.map_err(UtilsError::OutputFileOpen)?;
49-
let mut snapshot = Snapshot::new(version);
51+
let snapshot_hdr = SnapshotHdr::new(version);
52+
let snapshot = Snapshot::new(snapshot_hdr, microvm_state);
5053
snapshot
51-
.save(&mut output_file, &microvm_state)
54+
.save(&mut output_file)
5255
.map_err(UtilsError::VmStateSave)?;
5356
Ok(())
5457
}

0 commit comments

Comments
 (0)