[pbs-devel] [PATCH v3 proxmox-backup] fix #5710: api: backup: stat known chunks on backup finish
Christian Ebner
c.ebner at proxmox.com
Tue Oct 8 11:11:44 CEST 2024
On 10/8/24 10:41, Gabriel Goller wrote:
>> diff --git a/src/api2/backup/mod.rs b/src/api2/backup/mod.rs
>> index ea0d0292e..664e24d99 100644
>> --- a/src/api2/backup/mod.rs
>> +++ b/src/api2/backup/mod.rs
>> @@ -785,6 +785,26 @@ fn finish_backup(
>> ) -> Result<Value, Error> {
>> let env: &BackupEnvironment = rpcenv.as_ref();
>>
>> + if let Err(err) = env.stat_prev_known_chunks() {
>> + env.debug(format!("stat registered chunks failed - {err:?}"));
>> +
>> + if let Some(last) = env.last_backup.as_ref() {
>> + // No need to acquire snapshot lock, already locked when
>> starting the backup
>> + let verify_state = SnapshotVerifyState {
>> + state: VerifyState::Failed,
>> + upid: env.worker.upid().clone(), // backup writer UPID
>> + };
>> + let verify_state = serde_json::to_value(verify_state)?;
>> + last.backup_dir
>> + .update_manifest(|manifest| {
>> + manifest.unprotected["verify_state"] = verify_state;
>> + })
>> + .map_err(|err| format_err!("manifest update failed -
>> {err:?}"))?;
>
> Can't we add this line here to the error context as well?
True, that was overlooked. Instead of mapping the error, I will however
go directly for `with_context` [0], which is more concise.
[0]
https://docs.rs/anyhow/latest/anyhow/trait.Context.html#tymethod.with_context
More information about the pbs-devel
mailing list