File tree Expand file tree Collapse file tree 4 files changed +75
-46
lines changed
application/src/server/backup/adapters Expand file tree Collapse file tree 4 files changed +75
-46
lines changed Original file line number Diff line number Diff line change @@ -255,28 +255,32 @@ impl BackupExt for BtrfsBackup {
255255
256256 match archive_format {
257257 StreamableArchiveFormat :: Zip => {
258- if let Err ( err) =
259- crate :: server:: filesystem:: archive:: create:: create_zip_streaming (
260- filesystem,
261- writer,
262- Path :: new ( "" ) ,
263- names,
264- None ,
265- ignore. into ( ) ,
266- crate :: server:: filesystem:: archive:: create:: CreateZipOptions {
267- compression_level : config. system . backups . compression_level ,
268- } ,
269- )
270- . await
258+ match crate :: server:: filesystem:: archive:: create:: create_zip_streaming (
259+ filesystem,
260+ writer,
261+ Path :: new ( "" ) ,
262+ names,
263+ None ,
264+ ignore. into ( ) ,
265+ crate :: server:: filesystem:: archive:: create:: CreateZipOptions {
266+ compression_level : config. system . backups . compression_level ,
267+ } ,
268+ )
269+ . await
271270 {
272- tracing:: error!(
273- "failed to create zip archive for btrfs backup: {}" ,
274- err
275- ) ;
271+ Ok ( inner) => {
272+ inner. into_inner ( ) . shutdown ( ) . await . ok ( ) ;
273+ }
274+ Err ( err) => {
275+ tracing:: error!(
276+ "failed to create zip archive for btrfs backup: {}" ,
277+ err
278+ ) ;
279+ }
276280 }
277281 }
278282 _ => {
279- if let Err ( err ) = crate :: server:: filesystem:: archive:: create:: create_tar (
283+ match crate :: server:: filesystem:: archive:: create:: create_tar (
280284 filesystem,
281285 writer,
282286 Path :: new ( "" ) ,
@@ -291,10 +295,15 @@ impl BackupExt for BtrfsBackup {
291295 )
292296 . await
293297 {
294- tracing:: error!(
295- "failed to create tar archive for btrfs backup: {}" ,
296- err
297- ) ;
298+ Ok ( inner) => {
299+ inner. into_inner ( ) . shutdown ( ) . await . ok ( ) ;
300+ }
301+ Err ( err) => {
302+ tracing:: error!(
303+ "failed to create tar archive for btrfs backup: {}" ,
304+ err
305+ ) ;
306+ }
298307 }
299308 }
300309 }
Original file line number Diff line number Diff line change @@ -419,7 +419,9 @@ impl BackupExt for DdupBakBackup {
419419 ) ?;
420420 }
421421
422- zip. finish ( ) ?;
422+ let mut inner = zip. finish ( ) ?. into_inner ( ) ;
423+ inner. flush ( ) ?;
424+ inner. shutdown ( ) ?;
423425
424426 Ok ( ( ) )
425427 } ) ;
@@ -446,6 +448,9 @@ impl BackupExt for DdupBakBackup {
446448 }
447449
448450 tar. finish ( ) ?;
451+ let mut inner = tar. into_inner ( ) ?. finish ( ) ?;
452+ inner. flush ( ) ?;
453+ inner. shutdown ( ) ?;
449454
450455 Ok ( ( ) )
451456 } ) ;
Original file line number Diff line number Diff line change @@ -662,6 +662,10 @@ impl BackupExt for ResticBackup {
662662 }
663663 }
664664
665+ let mut inner = archive. finish ( ) ?. into_inner ( ) ;
666+ inner. flush ( ) ?;
667+ inner. shutdown ( ) ?;
668+
665669 Ok ( ( ) )
666670 } ) ;
667671 }
@@ -698,7 +702,9 @@ impl BackupExt for ResticBackup {
698702 ) ;
699703 }
700704
701- writer. finish ( ) ?;
705+ let mut inner = writer. finish ( ) ?;
706+ inner. flush ( ) ?;
707+ inner. shutdown ( ) ?;
702708
703709 Ok ( ( ) )
704710 } ) ;
Original file line number Diff line number Diff line change @@ -242,28 +242,32 @@ impl BackupExt for ZfsBackup {
242242
243243 match archive_format {
244244 StreamableArchiveFormat :: Zip => {
245- if let Err ( err) =
246- crate :: server:: filesystem:: archive:: create:: create_zip_streaming (
247- filesystem,
248- writer,
249- Path :: new ( "" ) ,
250- names,
251- None ,
252- ignore. into ( ) ,
253- crate :: server:: filesystem:: archive:: create:: CreateZipOptions {
254- compression_level : config. system . backups . compression_level ,
255- } ,
256- )
257- . await
245+ match crate :: server:: filesystem:: archive:: create:: create_zip_streaming (
246+ filesystem,
247+ writer,
248+ Path :: new ( "" ) ,
249+ names,
250+ None ,
251+ ignore. into ( ) ,
252+ crate :: server:: filesystem:: archive:: create:: CreateZipOptions {
253+ compression_level : config. system . backups . compression_level ,
254+ } ,
255+ )
256+ . await
258257 {
259- tracing:: error!(
260- "failed to create zip archive for btrfs backup: {}" ,
261- err
262- ) ;
258+ Ok ( inner) => {
259+ inner. into_inner ( ) . shutdown ( ) . await . ok ( ) ;
260+ }
261+ Err ( err) => {
262+ tracing:: error!(
263+ "failed to create zip archive for zfs backup: {}" ,
264+ err
265+ ) ;
266+ }
263267 }
264268 }
265269 _ => {
266- if let Err ( err ) = crate :: server:: filesystem:: archive:: create:: create_tar (
270+ match crate :: server:: filesystem:: archive:: create:: create_tar (
267271 filesystem,
268272 writer,
269273 Path :: new ( "" ) ,
@@ -278,10 +282,15 @@ impl BackupExt for ZfsBackup {
278282 )
279283 . await
280284 {
281- tracing:: error!(
282- "failed to create tar archive for btrfs backup: {}" ,
283- err
284- ) ;
285+ Ok ( inner) => {
286+ inner. into_inner ( ) . shutdown ( ) . await . ok ( ) ;
287+ }
288+ Err ( err) => {
289+ tracing:: error!(
290+ "failed to create tar archive for zfs backup: {}" ,
291+ err
292+ ) ;
293+ }
285294 }
286295 }
287296 }
You can’t perform that action at this time.
0 commit comments