server/prune_job: fix locking during prune jobs
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
(c9756b40d1
)
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>
This commit is contained in:
parent
4c00391d78
commit
5b358ff0b1
@ -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,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user