]> git.proxmox.com Git - proxmox-backup.git/blobdiff - src/backup/dynamic_index.rs
src/api2/admin/datastore/catar.rs: allow to configure chunk-size
[proxmox-backup.git] / src / backup / dynamic_index.rs
index f5c2ddd4b2d9d9cc06d13bd6ed69e0a1b0238083..cb203e60f27586adee8838ce763ddee5668ee700 100644 (file)
@@ -329,6 +329,7 @@ pub struct DynamicIndexWriter {
     pub uuid: [u8; 16],
     pub ctime: u64,
 
+    chunk_count: usize,
     chunk_offset: usize,
     last_chunk: usize,
     chunk_buffer: Vec<u8>,
@@ -387,6 +388,7 @@ impl DynamicIndexWriter {
             ctime,
             uuid: *uuid.as_bytes(),
 
+            chunk_count: 0,
             chunk_offset: 0,
             last_chunk: 0,
             chunk_buffer: Vec::with_capacity(chunk_size*4),
@@ -405,6 +407,8 @@ impl DynamicIndexWriter {
 
         self.writer.flush()?;
 
+        let avg = ((self.chunk_offset as f64)/(self.chunk_count as f64)) as usize;
+        println!("Average chunk size {}", avg);
         // fixme:
 
         if let Err(err) = std::fs::rename(&self.tmp_filename, &self.filename) {
@@ -429,6 +433,8 @@ impl DynamicIndexWriter {
                 format!("wrong chunk size {} != {}", expected_chunk_size, chunk_size)));
         }
 
+        self.chunk_count += 1;
+
         self.last_chunk = self.chunk_offset;
 
         match self.store.insert_chunk(&self.chunk_buffer) {