[pbs-devel] [PATCH proxmox-backup v2] fix #6624: ui: improve task log output for protected entry

Michael Köppl m.koeppl at proxmox.com
Tue Aug 26 11:26:17 CEST 2025


Gave this a quick spin by running a dry-run "prune all" with the various
marks set. The logs now make more sense. Good change!

The changes to the code are simple enough. I like the version that
Wolfgang suggested and that you implemented for v2 better.

Overall, lgtm! Please consider this:

Reviewed-by: Michael Köppl <m.koeppl at proxmox.com>
Tested-by: Michael Köppl <m.koeppl at proxmox.com>

On 8/25/25 3:21 PM, Shan Shaji wrote:
> Using 'Prune All' gives incomplete task-log output for a
> 'protected' entry. To fix this, add match expression to
> convert `PruneMark` variants into strings.
> 
> Signed-off-by: Shan Shaji <s.shaji at proxmox.com>
> ---
> 
>  changes since v1:
>  - Removed nested if condition check. 
>  - Added match expression to convert the `PruneMark` variants to strings.
>  - Updated commit message.
> 
>  src/server/prune_job.rs | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/src/server/prune_job.rs b/src/server/prune_job.rs
> index 1c86647a..9d07558d 100644
> --- a/src/server/prune_job.rs
> +++ b/src/server/prune_job.rs
> @@ -7,7 +7,7 @@ use pbs_api_types::{
>      print_store_and_ns, Authid, KeepOptions, Operation, PruneJobOptions, MAX_NAMESPACE_DEPTH,
>      PRIV_DATASTORE_MODIFY, PRIV_DATASTORE_PRUNE,
>  };
> -use pbs_datastore::prune::compute_prune_info;
> +use pbs_datastore::prune::{compute_prune_info, PruneMark};
>  use pbs_datastore::DataStore;
>  use proxmox_rest_server::WorkerTask;
>  
> @@ -72,7 +72,13 @@ pub fn prune_datastore(
>                  if dry_run { "would " } else { "" },
>                  group.backup_type(),
>                  group.backup_id(),
> -                info.backup_dir.backup_time_string()
> +                info.backup_dir.backup_time_string(),
> +                mark = match mark {
> +                    PruneMark::Protected => "keep protected",
> +                    PruneMark::Keep => "keep",
> +                    PruneMark::KeepPartial => "keep partial",
> +                    PruneMark::Remove => "remove",
> +                }
>              );
>              if !keep && !dry_run {
>                  if let Err(err) = datastore.remove_backup_dir(ns, info.backup_dir.as_ref(), false) {





More information about the pbs-devel mailing list