public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [pbs-devel] [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors
@ 2021-07-13  9:11 Dominik Csapak
  2021-07-13  9:11 ` [pbs-devel] [PATCH proxmox-backup 2/2] api2: tape: restore: add warning for list restore Dominik Csapak
  2021-07-13  9:56 ` [pbs-devel] applied: [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors Dietmar Maurer
  0 siblings, 2 replies; 4+ messages in thread
From: Dominik Csapak @ 2021-07-13  9:11 UTC (permalink / raw)
  To: pbs-devel

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@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





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

* [pbs-devel] [PATCH proxmox-backup 2/2] api2: tape: restore: add warning for list restore
  2021-07-13  9:11 [pbs-devel] [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors Dominik Csapak
@ 2021-07-13  9:11 ` Dominik Csapak
  2021-07-13 10:05   ` [pbs-devel] applied: " Dietmar Maurer
  2021-07-13  9:56 ` [pbs-devel] applied: [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors Dietmar Maurer
  1 sibling, 1 reply; 4+ messages in thread
From: Dominik Csapak @ 2021-07-13  9:11 UTC (permalink / raw)
  To: pbs-devel

if an error occurs, the snapshot dirs will already be created, and we
do not clean them up (some might already be finished).

Warn the user that they are not cleaned up.

Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
---
 src/api2/tape/restore.rs | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/api2/tape/restore.rs b/src/api2/tape/restore.rs
index 68033c4a..f959a856 100644
--- a/src/api2/tape/restore.rs
+++ b/src/api2/tape/restore.rs
@@ -647,6 +647,10 @@ fn restore_list_worker(
         Ok(())
     });
 
+    if res.is_err() {
+        task_warn!(worker, "Error during restore, partially restored snapshots will NOT be cleaned up");
+    }
+
     match std::fs::remove_dir_all(&base_path) {
         Ok(()) => {}
         Err(err) => task_warn!(worker, "error cleaning up: {}", err),
-- 
2.30.2





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

* [pbs-devel] applied: [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors
  2021-07-13  9:11 [pbs-devel] [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors Dominik Csapak
  2021-07-13  9:11 ` [pbs-devel] [PATCH proxmox-backup 2/2] api2: tape: restore: add warning for list restore Dominik Csapak
@ 2021-07-13  9:56 ` Dietmar Maurer
  1 sibling, 0 replies; 4+ messages in thread
From: Dietmar Maurer @ 2021-07-13  9:56 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Dominik Csapak

applied

On 7/13/21 11:11 AM, Dominik Csapak wrote:
> 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@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 */ }




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

* [pbs-devel] applied: [PATCH proxmox-backup 2/2] api2: tape: restore: add warning for list restore
  2021-07-13  9:11 ` [pbs-devel] [PATCH proxmox-backup 2/2] api2: tape: restore: add warning for list restore Dominik Csapak
@ 2021-07-13 10:05   ` Dietmar Maurer
  0 siblings, 0 replies; 4+ messages in thread
From: Dietmar Maurer @ 2021-07-13 10:05 UTC (permalink / raw)
  To: Proxmox Backup Server development discussion, Dominik Csapak

applied

On 7/13/21 11:11 AM, Dominik Csapak wrote:
> if an error occurs, the snapshot dirs will already be created, and we
> do not clean them up (some might already be finished).
>
> Warn the user that they are not cleaned up.
>
> Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
> ---
>   src/api2/tape/restore.rs | 4 ++++
>   1 file changed, 4 insertions(+)
>
> diff --git a/src/api2/tape/restore.rs b/src/api2/tape/restore.rs
> index 68033c4a..f959a856 100644
> --- a/src/api2/tape/restore.rs
> +++ b/src/api2/tape/restore.rs
> @@ -647,6 +647,10 @@ fn restore_list_worker(
>           Ok(())
>       });
>   
> +    if res.is_err() {
> +        task_warn!(worker, "Error during restore, partially restored snapshots will NOT be cleaned up");
> +    }
> +
>       match std::fs::remove_dir_all(&base_path) {
>           Ok(()) => {}
>           Err(err) => task_warn!(worker, "error cleaning up: {}", err),




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

end of thread, other threads:[~2021-07-13 10:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-13  9:11 [pbs-devel] [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors Dominik Csapak
2021-07-13  9:11 ` [pbs-devel] [PATCH proxmox-backup 2/2] api2: tape: restore: add warning for list restore Dominik Csapak
2021-07-13 10:05   ` [pbs-devel] applied: " Dietmar Maurer
2021-07-13  9:56 ` [pbs-devel] applied: [PATCH proxmox-backup 1/2] chunk_store/insert_chunk: add more information to file errors Dietmar Maurer

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