public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup] server/prune_job: fix locking during prune jobs
@ 2021-06-02 13:54 Dominik Csapak
  2021-06-02 15:09 ` [pbs-devel] applied: " Thomas Lamprecht
  0 siblings, 1 reply; 2+ messages in thread
From: Dominik Csapak @ 2021-06-02 13:54 UTC (permalink / raw)
  To: pbs-devel

removing the backup dir must acquire the snapshot lock, else it can
happen that we remove a snapshot while it is being restored
or backed up to tape

the original commit that adds the force flag
(c9756b40d1b33c573216f7c8eba209200c1d9bd5)
mentions that the prune checks itself if the snapshot is in use,
but i could not find such code, so simply set force to false

to avoid failing and aborting the prune job, warn if it could not
and continue

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 src/server/prune_job.rs | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/src/server/prune_job.rs b/src/server/prune_job.rs
index 572f1b04..ac56d167 100644
--- a/src/server/prune_job.rs
+++ b/src/server/prune_job.rs
@@ -8,6 +8,7 @@ use crate::{
     server::jobstate::Job,
     server::WorkerTask,
     task_log,
+    task_warn,
 };
 
 pub fn do_prune_job(
@@ -67,7 +68,14 @@ pub fn do_prune_job(
                             info.backup_dir.backup_time_string()
                         );
                         if !keep {
-                            datastore.remove_backup_dir(&info.backup_dir, true)?;
+                            if let Err(err) = datastore.remove_backup_dir(&info.backup_dir, false) {
+                                task_warn!(
+                                    worker,
+                                    "failed to remove dir {:?}: {}",
+                                    info.backup_dir.relative_path(),
+                                    err,
+                                );
+                            }
                         }
                     }
                 }
-- 
2.20.1





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

* [pbs-devel] applied: [PATCH proxmox-backup] server/prune_job: fix locking during prune jobs
  2021-06-02 13:54 [pbs-devel] [PATCH proxmox-backup] server/prune_job: fix locking during prune jobs Dominik Csapak
@ 2021-06-02 15:09 ` Thomas Lamprecht
  0 siblings, 0 replies; 2+ messages in thread
From: Thomas Lamprecht @ 2021-06-02 15:09 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Dominik Csapak

On 02.06.21 15:54, Dominik Csapak wrote:
> removing the backup dir must acquire the snapshot lock, else it can
> happen that we remove a snapshot while it is being restored
> or backed up to tape
> 
> the original commit that adds the force flag
> (c9756b40d1b33c573216f7c8eba209200c1d9bd5)
> mentions that the prune checks itself if the snapshot is in use,
> but i could not find such code, so simply set force to false


argh... 

> to avoid failing and aborting the prune job, warn if it could not
> and continue
> 
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
>  src/server/prune_job.rs | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
>

applied, thanks!




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

end of thread, other threads:[~2021-06-02 15:10 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-02 13:54 [pbs-devel] [PATCH proxmox-backup] server/prune_job: fix locking during prune jobs Dominik Csapak
2021-06-02 15:09 ` [pbs-devel] applied: " Thomas Lamprecht

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal