diff --git a/yama/src/chunking.rs b/yama/src/chunking.rs index 5950ac6..83daaf0 100644 --- a/yama/src/chunking.rs +++ b/yama/src/chunking.rs @@ -35,7 +35,7 @@ pub const FASTCDC_AVG: usize = 1024 * 1024; // 8 MiB pub const FASTCDC_MAX: usize = 8 * 1024 * 1024; -pub trait ChunkSubmissionTarget { +pub trait ChunkSubmissionTarget: Sync { fn submit(&self, chunk_id: ChunkId, chunk_data: &[u8]) -> anyhow::Result<()>; } diff --git a/yama/src/operations/storing.rs b/yama/src/operations/storing.rs index 3e0b380..d784fea 100644 --- a/yama/src/operations/storing.rs +++ b/yama/src/operations/storing.rs @@ -35,10 +35,10 @@ use crate::progress::ProgressTracker; use crate::tree::{create_uidgid_lookup_tables, differentiate_node_in_place}; use std::collections::BTreeMap; -pub fn store( +pub fn store( root_path: &Path, root: &mut TreeNode, - pile: &Pile, + target: &CST, progress_bar: &mut PT, num_workers: u8, ) -> anyhow::Result<()> { @@ -57,7 +57,7 @@ pub fn store( s.builder() .name(format!("yama chunker {}", worker_num)) .spawn(move |_| { - if let Err(e) = store_worker(root_path, pile, paths_recv, results_send) { + if let Err(e) = store_worker(root_path, target, paths_recv, results_send) { error!("[critical!] Storage worker {} FAILED: {:?}", worker_num, e); critical_failures.fetch_add(1, Ordering::Relaxed); } @@ -252,7 +252,7 @@ pub fn store_fully( differentiate_node_in_place(&mut root_node, &parent_node.node)?; } - store(&root_dir, &mut root_node, &pile, progress_bar, num_workers)?; + store(&root_dir, &mut root_node, pile, progress_bar, num_workers)?; let mut uid_lookup = BTreeMap::new(); let mut gid_lookup = BTreeMap::new();