summaryrefslogtreecommitdiff
path: root/src/chunker/rw/storage
diff options
context:
space:
mode:
Diffstat (limited to 'src/chunker/rw/storage')
-rw-r--r--src/chunker/rw/storage/build.rs9
-rw-r--r--src/chunker/rw/storage/write/simple.rs16
-rw-r--r--src/chunker/rw/storage/write/stream.rs6
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() {