expose previous backup time in backup env
and use this information to add more information to client backup log and guide the download manifest decision. Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
This commit is contained in:
		
				
					committed by
					
						 Dietmar Maurer
						Dietmar Maurer
					
				
			
			
				
	
			
			
			
						parent
						
							866c859a1e
						
					
				
				
					commit
					8b7f8d3f3d
				
			| @ -1099,23 +1099,42 @@ async fn create_backup( | ||||
|         false | ||||
|     ).await?; | ||||
|  | ||||
|     let previous_manifest = match client.download_previous_manifest().await { | ||||
|         Ok(previous_manifest) => { | ||||
|             match previous_manifest.check_fingerprint(crypt_config.as_ref().map(Arc::as_ref)) { | ||||
|                 Ok(()) => { | ||||
|                     println!("Successfully downloaded previous manifest."); | ||||
|                     Some(Arc::new(previous_manifest)) | ||||
|                 }, | ||||
|                 Err(err) => { | ||||
|                     println!("Couldn't re-use pevious manifest - {}", err); | ||||
|                     None | ||||
|                 }, | ||||
|     let download_previous_manifest = match client.previous_backup_time().await { | ||||
|         Ok(Some(backup_time)) => { | ||||
|             println!( | ||||
|                 "Downloading previous manifest ({})", | ||||
|                 strftime_local("%c", backup_time)? | ||||
|             ); | ||||
|             true | ||||
|         } | ||||
|         Ok(None) => { | ||||
|             println!("No previous manifest available."); | ||||
|             false | ||||
|         } | ||||
|         Err(_) => { | ||||
|             // Fallback for outdated server, TODO remove/bubble up with 2.0 | ||||
|             true | ||||
|         } | ||||
|     }; | ||||
|  | ||||
|     let previous_manifest = if download_previous_manifest { | ||||
|         match client.download_previous_manifest().await { | ||||
|             Ok(previous_manifest) => { | ||||
|                 match previous_manifest.check_fingerprint(crypt_config.as_ref().map(Arc::as_ref)) { | ||||
|                     Ok(()) => Some(Arc::new(previous_manifest)), | ||||
|                     Err(err) => { | ||||
|                         println!("Couldn't re-use previous manifest - {}", err); | ||||
|                         None | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         }, | ||||
|         Err(err) => { | ||||
|             println!("Couldn't download pevious manifest - {}", err); | ||||
|             None | ||||
|         }, | ||||
|             Err(err) => { | ||||
|                 println!("Couldn't download previous manifest - {}", err); | ||||
|                 None | ||||
|             } | ||||
|         } | ||||
|     } else { | ||||
|         None | ||||
|     }; | ||||
|  | ||||
|     let snapshot = BackupDir::new(backup_type, backup_id, backup_time)?; | ||||
|  | ||||
		Reference in New Issue
	
	Block a user