pull_store/group: dont try remove locally protected snapshots
and log if a vanished groups could not be completely deleted if it contains protected snapshots Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Signed-off-by: Wolfgang Bumiller <w.bumiller@proxmox.com>
This commit is contained in:
parent
de91418b79
commit
343392613d
|
@ -605,6 +605,14 @@ pub async fn pull_group(
|
||||||
if remote_snapshots.contains(&backup_time) {
|
if remote_snapshots.contains(&backup_time) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
if info.backup_dir.is_protected(tgt_store.base_path()) {
|
||||||
|
task_log!(
|
||||||
|
worker,
|
||||||
|
"don't delete vanished snapshot {:?} (protected)",
|
||||||
|
info.backup_dir.relative_path()
|
||||||
|
);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
task_log!(worker, "delete vanished snapshot {:?}", info.backup_dir.relative_path());
|
task_log!(worker, "delete vanished snapshot {:?}", info.backup_dir.relative_path());
|
||||||
tgt_store.remove_backup_dir(&info.backup_dir, false)?;
|
tgt_store.remove_backup_dir(&info.backup_dir, false)?;
|
||||||
}
|
}
|
||||||
|
@ -719,9 +727,15 @@ pub async fn pull_store(
|
||||||
local_group.backup_type(),
|
local_group.backup_type(),
|
||||||
local_group.backup_id()
|
local_group.backup_id()
|
||||||
);
|
);
|
||||||
if let Err(err) = tgt_store.remove_backup_group(&local_group) {
|
match tgt_store.remove_backup_group(&local_group) {
|
||||||
task_log!(worker, "{}", err.to_string());
|
Ok(true) => {},
|
||||||
errors = true;
|
Ok(false) => {
|
||||||
|
task_log!(worker, "kept some protected snapshots of group '{}'", local_group);
|
||||||
|
},
|
||||||
|
Err(err) => {
|
||||||
|
task_log!(worker, "{}", err);
|
||||||
|
errors = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|
Loading…
Reference in New Issue