Uses accounts run and snapshot dir constants (#34879)

This commit is contained in:
Brooks 2024-01-22 19:47:58 -05:00 committed by GitHub
parent 9caf9e8f17
commit 098076f5ca
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 6 additions and 4 deletions

View File

@ -24,7 +24,7 @@ use {
append_vec::AppendVec, append_vec::AppendVec,
hardened_unpack::{self, ParallelSelector, UnpackError}, hardened_unpack::{self, ParallelSelector, UnpackError},
shared_buffer_reader::{SharedBuffer, SharedBufferReader}, shared_buffer_reader::{SharedBuffer, SharedBufferReader},
utils::delete_contents_of_path, utils::{delete_contents_of_path, ACCOUNTS_RUN_DIR, ACCOUNTS_SNAPSHOT_DIR},
}, },
solana_measure::{measure, measure::Measure}, solana_measure::{measure, measure::Measure},
solana_sdk::{clock::Slot, hash::Hash}, solana_sdk::{clock::Slot, hash::Hash},
@ -1175,7 +1175,7 @@ fn get_account_path_from_appendvec_path(appendvec_path: &Path) -> Option<PathBuf
let run_file_name = run_path.file_name()?; let run_file_name = run_path.file_name()?;
// All appendvec files should be under <account_path>/run/. // All appendvec files should be under <account_path>/run/.
// When generating the bank snapshot directory, they are hardlinked to <account_path>/snapshot/<slot>/ // When generating the bank snapshot directory, they are hardlinked to <account_path>/snapshot/<slot>/
if run_file_name != "run" { if run_file_name != ACCOUNTS_RUN_DIR {
error!( error!(
"The account path {} does not have run/ as its immediate parent directory.", "The account path {} does not have run/ as its immediate parent directory.",
run_path.display() run_path.display()
@ -1198,7 +1198,9 @@ fn get_snapshot_accounts_hardlink_dir(
GetSnapshotAccountsHardLinkDirError::GetAccountPath(appendvec_path.to_path_buf()) GetSnapshotAccountsHardLinkDirError::GetAccountPath(appendvec_path.to_path_buf())
})?; })?;
let snapshot_hardlink_dir = account_path.join("snapshot").join(bank_slot.to_string()); let snapshot_hardlink_dir = account_path
.join(ACCOUNTS_SNAPSHOT_DIR)
.join(bank_slot.to_string());
// Use the hashset to track, to avoid checking the file system. Only set up the hardlink directory // Use the hashset to track, to avoid checking the file system. Only set up the hardlink directory
// and the symlink to it at the first time of seeing the account_path. // and the symlink to it at the first time of seeing the account_path.
@ -1539,7 +1541,7 @@ pub fn rebuild_storages_from_snapshot_dir(
.ok_or_else(|| SnapshotError::InvalidAccountPath(account_snapshot_path.clone()))? .ok_or_else(|| SnapshotError::InvalidAccountPath(account_snapshot_path.clone()))?
.parent() .parent()
.ok_or_else(|| SnapshotError::InvalidAccountPath(account_snapshot_path.clone()))? .ok_or_else(|| SnapshotError::InvalidAccountPath(account_snapshot_path.clone()))?
.join("run"); .join(ACCOUNTS_RUN_DIR);
if !account_run_paths.contains(&account_run_path) { if !account_run_paths.contains(&account_run_path) {
// The appendvec from the bank snapshot storage does not match any of the provided account_paths set. // The appendvec from the bank snapshot storage does not match any of the provided account_paths set.
// The accout paths have changed so the snapshot is no longer usable. // The accout paths have changed so the snapshot is no longer usable.