snapshots: serialize version file first (#27192)
serialize version file first
This commit is contained in:
parent
1eba91af29
commit
c1111fa069
|
@ -345,10 +345,12 @@ pub fn archive_snapshot_package(
|
||||||
|
|
||||||
let do_archive_files = |encoder: &mut dyn Write| -> Result<()> {
|
let do_archive_files = |encoder: &mut dyn Write| -> Result<()> {
|
||||||
let mut archive = tar::Builder::new(encoder);
|
let mut archive = tar::Builder::new(encoder);
|
||||||
|
// Serialize the version and snapshots files before accounts so we can quickly determine the version
|
||||||
|
// and other bank fields. This is necessary if we want to interleave unpacking with reconstruction
|
||||||
|
archive.append_path_with_name(staging_dir.as_ref().join("version"), "version")?;
|
||||||
for dir in ["snapshots", "accounts"] {
|
for dir in ["snapshots", "accounts"] {
|
||||||
archive.append_dir_all(dir, staging_dir.as_ref().join(dir))?;
|
archive.append_dir_all(dir, staging_dir.as_ref().join(dir))?;
|
||||||
}
|
}
|
||||||
archive.append_path_with_name(staging_dir.as_ref().join("version"), "version")?;
|
|
||||||
archive.into_inner()?;
|
archive.into_inner()?;
|
||||||
Ok(())
|
Ok(())
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue