[pbs-devel] [PATCH proxmox-backup] datastore: avoid calculating protected attribute twice
Christian Ebner
c.ebner at proxmox.com
Thu Jul 4 12:42:47 CEST 2024
nit: s/calculating/checking/ as this is not really a calculation in that
sense. But this does not warrant a new version.
On 7/3/24 17:02, Gabriel Goller wrote:
> The protected status of the snapshot is retrieved twice. This is slow
> because it stat's the .protected file multiple times.
>
> Signed-off-by: Gabriel Goller <g.goller at proxmox.com>
> ---
> src/api2/admin/datastore.rs | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/src/api2/admin/datastore.rs b/src/api2/admin/datastore.rs
> index f28fb97fa975..9c5ef7185b74 100644
> --- a/src/api2/admin/datastore.rs
> +++ b/src/api2/admin/datastore.rs
> @@ -505,7 +505,7 @@ fn list_snapshots_blocking(
> group: group.into(),
> time: info.backup_dir.backup_time(),
> };
> - let protected = info.backup_dir.is_protected();
> + let protected = info.protected;
>
> match get_all_snapshot_files(&info) {
> Ok((manifest, files)) => {
This looks good to me, although there is now a possibly increased delay
between the check and closure invocation, as the closure call can be
significantly later, e.g. when there are a lot of snapshots in the group
to list. This is however not problematic, as callers do not rely on this
and the avoided lookup for the file path existence is beneficial.
Did test this by setting a snapshot to protected and verifying the
listing is still as expected via:
```
proxmox-backup-client snapshot list <group> --output-format json-pretty
```
So please consider:
Tested-by: Christian Ebner <c.ebner at proxmox.com>
Reviewed-by: Christian Ebner <c.ebner at proxmox.com>
More information about the pbs-devel
mailing list