all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] api2: tape/restore: commit temporary catalog at the end
@ 2021-07-20  8:55 Dominik Csapak
  2021-07-28  9:29 ` [pbs-devel] applied: " Dietmar Maurer
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2021-07-20  8:55 UTC (permalink / raw)
  To: pbs-devel

in 'restore_archive', we reach that 'catalog.commit()' for
* every skipped snapshot (we already call 'commit_if_large' then before)
* every skipped chunk archive (no change in catalog since we do not read
  the chunk archive in that case)
* after reading a catalog (no change in catalog)

in all other cases, we call 'commit_if_large' and return early,
meaning that the 'commit' there was executed too often and
unnecessary, so move it after the loop over the files, before
finishing the temporary database.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
this should reduce the number of commits quite a bit, and make my
previous series[0] work ok

0: https://lists.proxmox.com/pipermail/pbs-devel/2021-July/003711.html

 src/api2/tape/restore.rs | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/api2/tape/restore.rs b/src/api2/tape/restore.rs
index f959a856..8a8e8a36 100644
--- a/src/api2/tape/restore.rs
+++ b/src/api2/tape/restore.rs
@@ -998,6 +998,8 @@ pub fn restore_media(
         restore_archive(worker.clone(), reader, current_file_number, target, &mut catalog, checked_chunks_map, verbose)?;
     }
 
+    catalog.commit()?;
+
     MediaCatalog::finish_temporary_database(status_path, &media_id.label.uuid, true)?;
 
     Ok(())
@@ -1153,8 +1155,6 @@ fn restore_archive<'a>(
          _ =>  bail!("unknown content magic {:?}", header.content_magic),
     }
 
-    catalog.commit()?;
-
     Ok(())
 }
 
-- 
2.30.2





^ permalink raw reply	[flat|nested] 2+ messages in thread

* [pbs-devel] applied: [PATCH proxmox-backup] api2: tape/restore: commit temporary catalog at the end
  2021-07-20  8:55 [pbs-devel] [PATCH proxmox-backup] api2: tape/restore: commit temporary catalog at the end Dominik Csapak
@ 2021-07-28  9:29 ` Dietmar Maurer
  0 siblings, 0 replies; 2+ messages in thread
From: Dietmar Maurer @ 2021-07-28  9:29 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Dominik Csapak

applied

On 7/20/21 10:55 AM, Dominik Csapak wrote:
> in 'restore_archive', we reach that 'catalog.commit()' for
> * every skipped snapshot (we already call 'commit_if_large' then before)
> * every skipped chunk archive (no change in catalog since we do not read
>    the chunk archive in that case)
> * after reading a catalog (no change in catalog)
>
> in all other cases, we call 'commit_if_large' and return early,
> meaning that the 'commit' there was executed too often and
> unnecessary, so move it after the loop over the files, before
> finishing the temporary database.
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
> this should reduce the number of commits quite a bit, and make my
> previous series[0] work ok
>
> 0: https://lists.proxmox.com/pipermail/pbs-devel/2021-July/003711.html
>
>   src/api2/tape/restore.rs | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/api2/tape/restore.rs b/src/api2/tape/restore.rs
> index f959a856..8a8e8a36 100644
> --- a/src/api2/tape/restore.rs
> +++ b/src/api2/tape/restore.rs
> @@ -998,6 +998,8 @@ pub fn restore_media(
>           restore_archive(worker.clone(), reader, current_file_number, target, &mut catalog, checked_chunks_map, verbose)?;
>       }
>   
> +    catalog.commit()?;
> +
>       MediaCatalog::finish_temporary_database(status_path, &media_id.label.uuid, true)?;
>   
>       Ok(())
> @@ -1153,8 +1155,6 @@ fn restore_archive<'a>(
>            _ =>  bail!("unknown content magic {:?}", header.content_magic),
>       }
>   
> -    catalog.commit()?;
> -
>       Ok(())
>   }
>   




^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-07-28  9:30 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-20  8:55 [pbs-devel] [PATCH proxmox-backup] api2: tape/restore: commit temporary catalog at the end Dominik Csapak
2021-07-28  9:29 ` [pbs-devel] applied: " Dietmar Maurer

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal