Separate out the pointer operations
This commit is contained in:
		
							parent
							
								
									23b352f936
								
							
						
					
					
						commit
						081a1922c7
					
				| @ -240,7 +240,6 @@ pub fn store_fully<PT: ProgressTracker>( | ||||
|     parent: Option<String>, | ||||
|     num_workers: u8, | ||||
|     progress_bar: &mut PT, | ||||
|     use_pipelined_storage: bool, | ||||
| ) -> anyhow::Result<()> { | ||||
|     if let Some(parent) = parent.as_ref() { | ||||
|         let mut parent_pointer = pile.read_pointer(parent)?.ok_or_else(|| { | ||||
| @ -255,6 +254,29 @@ pub fn store_fully<PT: ProgressTracker>( | ||||
|         differentiate_node_in_place(&mut root_node, &parent_node.node)?; | ||||
|     } | ||||
| 
 | ||||
|     let pointer_data = store_without_pointer_ops( | ||||
|         &pile, | ||||
|         &root_dir, | ||||
|         root_node, | ||||
|         parent, | ||||
|         num_workers, | ||||
|         progress_bar, | ||||
|     )?; | ||||
| 
 | ||||
|     // TODO(newver) Allow the pointer to be returned separately.
 | ||||
|     pile.write_pointer(&new_pointer_name, &pointer_data)?; | ||||
|     pile.flush()?; | ||||
|     Ok(()) | ||||
| } | ||||
| 
 | ||||
| fn store_without_pointer_ops<PT: ProgressTracker>( | ||||
|     pile: &Arc<Pile<Box<dyn RawPile>>>, | ||||
|     root_dir: &PathBuf, | ||||
|     mut root_node: TreeNode, | ||||
|     parent: Option<String>, | ||||
|     num_workers: u8, | ||||
|     progress_bar: &mut PT, | ||||
| ) -> anyhow::Result<PointerData> { | ||||
|     // TODO make these configurable
 | ||||
|     let sps = StoragePipelineSettings { | ||||
|         num_compressors: get_number_of_workers("YAMA_PL_COMPRESSORS") as u32, | ||||
| @ -301,9 +323,5 @@ pub fn store_fully<PT: ProgressTracker>( | ||||
|         uid_lookup, | ||||
|         gid_lookup, | ||||
|     }; | ||||
| 
 | ||||
|     // TODO(newver) Allow the pointer to be returned separately.
 | ||||
|     pile.write_pointer(&new_pointer_name, &pointer_data)?; | ||||
|     pile.flush()?; | ||||
|     Ok(()) | ||||
|     Ok(pointer_data) | ||||
| } | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user