* [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