From 3f3058fc7df2449e83328c666bb382ae913b6c39 Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Sat, 2 Jan 2021 17:57:56 -0800 Subject: [PATCH] Create account paths once (cherry picked from commit fe0ba4a429287672612797a7d9c76956fcdc6f6a) --- runtime/src/serde_snapshot.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/src/serde_snapshot.rs b/runtime/src/serde_snapshot.rs index 7404aec799..2e0426d6e5 100644 --- a/runtime/src/serde_snapshot.rs +++ b/runtime/src/serde_snapshot.rs @@ -288,6 +288,12 @@ where map }; + // Ensure all account paths exist + for path in &accounts_db.paths { + std::fs::create_dir_all(path) + .unwrap_or_else(|err| panic!("Failed to create directory {}: {}", path.display(), err)); + } + let mut last_log_update = Instant::now(); let mut remaining_slots_to_process = storage.len(); @@ -307,8 +313,6 @@ where let path_index = thread_rng().gen_range(0, accounts_db.paths.len()); let local_dir = &accounts_db.paths[path_index]; - std::fs::create_dir_all(local_dir).expect("Create directory failed"); - // Move the corresponding AppendVec from the snapshot into the directory pointed // at by `local_dir` let append_vec_relative_path = AppendVec::new_relative_path(slot, storage_entry.id);