[pbs-devel] [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors
Dominik Csapak
d.csapak at proxmox.com
Tue Jul 13 11:11:24 CEST 2021
otherwise this context is missing in some tasks (e.g. tape restore)
and it is unclear where it came from
Signed-off-by: Dominik Csapak <d.csapak at proxmox.com>
---
pbs-datastore/src/chunk_store.rs | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
diff --git a/pbs-datastore/src/chunk_store.rs b/pbs-datastore/src/chunk_store.rs
index ddf0a769..361cc9a2 100644
--- a/pbs-datastore/src/chunk_store.rs
+++ b/pbs-datastore/src/chunk_store.rs
@@ -401,12 +401,26 @@ impl ChunkStore {
let mut tmp_path = chunk_path.clone();
tmp_path.set_extension("tmp");
- let mut file = std::fs::File::create(&tmp_path)?;
+ let mut file = std::fs::File::create(&tmp_path).map_err(|err| {
+ format_err!(
+ "creating temporary chunk on store '{}' failed for {} - {}",
+ self.name,
+ digest_str,
+ err
+ )
+ })?;
let raw_data = chunk.raw_data();
let encoded_size = raw_data.len() as u64;
- file.write_all(raw_data)?;
+ file.write_all(raw_data).map_err(|err| {
+ format_err!(
+ "writing temporary chunk on store '{}' failed for {} - {}",
+ self.name,
+ digest_str,
+ err
+ )
+ })?;
if let Err(err) = std::fs::rename(&tmp_path, &chunk_path) {
if std::fs::remove_file(&tmp_path).is_err() { /* ignore */ }
--
2.30.2
More information about the pbs-devel
mailing list