diff options
Diffstat (limited to 'src/chunker/rw/storage')
| -rw-r--r-- | src/chunker/rw/storage/build.rs | 9 | ||||
| -rw-r--r-- | src/chunker/rw/storage/write/simple.rs | 16 | ||||
| -rw-r--r-- | src/chunker/rw/storage/write/stream.rs | 6 |
3 files changed, 19 insertions, 12 deletions
diff --git a/src/chunker/rw/storage/build.rs b/src/chunker/rw/storage/build.rs index 51b5bf5..d565693 100644 --- a/src/chunker/rw/storage/build.rs +++ b/src/chunker/rw/storage/build.rs @@ -8,8 +8,10 @@ use crate::{ chunker::{ constants::BUTCK_INDEX_FILE_SUFFIX, context::ButckContext, - rw::error::{ButckRWError, ButckRWErrorKind}, - rw::storage, + rw::{ + error::{ButckRWError, ButckRWErrorKind}, + storage, + }, }, utils::size_display::size_display, }; @@ -110,6 +112,7 @@ async fn rebuild_from_bidx( progress::update_progress(progress_name.as_str(), 0.0); let step = 1.0 / chunk_count as f64; + let storage_dir = ctx.storage_path.as_ref().unwrap(); let mut tasks = Vec::with_capacity(chunk_count); for (index, hash_bytes) in chunk_hashes.iter().enumerate() { @@ -118,7 +121,7 @@ async fn rebuild_from_bidx( progress_name.as_str(), step, hash_hex, - &ctx.output_dir, + &storage_dir, index, )); } diff --git a/src/chunker/rw/storage/write/simple.rs b/src/chunker/rw/storage/write/simple.rs index 38aecfc..461afff 100644 --- a/src/chunker/rw/storage/write/simple.rs +++ b/src/chunker/rw/storage/write/simple.rs @@ -87,16 +87,20 @@ async fn write_file_to_storage( trace!("file_size={}", raw_data.len()); trace!("output_index_file={}", output_index_file.display()); trace!("policy_name={:?}", ctx.policy_name); - trace!("storage_dir={}", ctx.output_dir.display()); + trace!( + "storage_dir={}", + ctx.storage_path.as_ref().unwrap().display() + ); info!( "{} chunks will be written to {}", chunk_count, - ctx.output_dir.display() + ctx.storage_path.as_ref().unwrap().display() ); - tokio::fs::create_dir_all(&ctx.output_dir).await?; - trace!("Output directory created or already exists"); + let storage_dir = ctx.storage_path.as_ref().unwrap().clone(); + tokio::fs::create_dir_all(&storage_dir).await?; + trace!("Storage directory created or already exists"); let mut tasks = Vec::new(); let mut start = 0; @@ -119,7 +123,7 @@ async fn write_file_to_storage( progress_name: progress_name.clone(), step, chunk_data: chunk_data.to_vec(), - output_dir: ctx.output_dir.clone(), + output_dir: ctx.storage_path.as_ref().unwrap().clone(), chunk_hash: ctx.chunk_hash, chunk_index, }; @@ -149,7 +153,7 @@ async fn write_file_to_storage( progress_name: progress_name.clone(), step, chunk_data: chunk_data.to_vec(), - output_dir: ctx.output_dir.clone(), + output_dir: ctx.storage_path.as_ref().unwrap().clone(), chunk_hash: ctx.chunk_hash, chunk_index, }; diff --git a/src/chunker/rw/storage/write/stream.rs b/src/chunker/rw/storage/write/stream.rs index 092cee7..74a391b 100644 --- a/src/chunker/rw/storage/write/stream.rs +++ b/src/chunker/rw/storage/write/stream.rs @@ -42,7 +42,7 @@ pub async fn write_file_stream( // Collect chunk information let chunk_infos = Arc::new(Mutex::new(Vec::new())); let chunk_counter = Arc::new(Mutex::new(0usize)); - let output_dir = ctx.output_dir.clone(); + let storage_dir = ctx.storage_path.as_ref().unwrap().clone(); let chunk_hash = ctx.chunk_hash; // If only displaying boundaries, use chunk_stream_display_boundaries @@ -80,7 +80,7 @@ pub async fn write_file_stream( stream_read_size, path, |chunk_data: Vec<u8>| { - let output_dir = output_dir.clone(); + let storage_dir = storage_dir.clone(); let chunk_hash = chunk_hash; let progress_name = progress_name.clone(); let chunk_infos = Arc::clone(&chunk_infos); @@ -97,7 +97,7 @@ pub async fn write_file_stream( let hash_hex = hex::encode(hash_bytes); // Build file path - let file_path = get_chunk_path(&output_dir, &hash_hex); + let file_path = get_chunk_path(&storage_dir, &hash_hex); // Create directory if needed if let Some(parent_dir) = file_path.parent() { |
