public inbox for pbs-devel@lists.proxmox.com
 help / color / mirror / Atom feed
* [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh
@ 2026-03-05  9:20 Hannes Laimer
  2026-03-05  9:32 ` Hannes Laimer
  2026-03-05  9:49 ` applied: " Fabian Grünbichler
  0 siblings, 2 replies; 4+ messages in thread
From: Hannes Laimer @ 2026-03-05  9:20 UTC (permalink / raw)
  To: pbs-devel

Without this empty namespaces present on s3 won't be visible locally.

Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
---
v2, thanks @Fabian:
 - don't duplicate dir creation, just move ns check to after dir
   creation since it is identicaly for namespaces and other things

 pbs-datastore/src/datastore.rs | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs
index 7ad3d917..76b66f7d 100644
--- a/pbs-datastore/src/datastore.rs
+++ b/pbs-datastore/src/datastore.rs
@@ -2534,11 +2534,6 @@ impl DataStore {
                 let object_path = object_path.strip_prefix(&store_prefix).with_context(|| {
                     format!("failed to strip store context prefix {store_prefix} for {object_key}")
                 })?;
-                if object_path.ends_with(NAMESPACE_MARKER_FILENAME) {
-                    continue;
-                }
-
-                info!("Fetching object {object_path}");
 
                 let file_path = tmp_base.join(object_path);
                 if let Some(parent) = file_path.parent() {
@@ -2549,6 +2544,13 @@ impl DataStore {
                     )?;
                 }
 
+                if object_path.ends_with(NAMESPACE_MARKER_FILENAME) {
+                    info!("Created namespace {object_path}");
+                    continue;
+                } else {
+                    info!("Fetching object {object_path}");
+                }
+
                 let mut target_file = tokio::fs::OpenOptions::new()
                     .write(true)
                     .create(true)
-- 
2.47.3





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

* Re: [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh
  2026-03-05  9:20 [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh Hannes Laimer
@ 2026-03-05  9:32 ` Hannes Laimer
  2026-03-05  9:53   ` Fabian Grünbichler
  2026-03-05  9:49 ` applied: " Fabian Grünbichler
  1 sibling, 1 reply; 4+ messages in thread
From: Hannes Laimer @ 2026-03-05  9:32 UTC (permalink / raw)
  To: pbs-devel



On 2026-03-05 10:20, Hannes Laimer wrote:
> Without this empty namespaces present on s3 won't be visible locally.
> 
> Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
> ---
> v2, thanks @Fabian:
>  - don't duplicate dir creation, just move ns check to after dir
>    creation since it is identicaly for namespaces and other things
> 
>  pbs-datastore/src/datastore.rs | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs
> index 7ad3d917..76b66f7d 100644
> --- a/pbs-datastore/src/datastore.rs
> +++ b/pbs-datastore/src/datastore.rs
> @@ -2534,11 +2534,6 @@ impl DataStore {
>                  let object_path = object_path.strip_prefix(&store_prefix).with_context(|| {
>                      format!("failed to strip store context prefix {store_prefix} for {object_key}")
>                  })?;
> -                if object_path.ends_with(NAMESPACE_MARKER_FILENAME) {
> -                    continue;
> -                }
> -
> -                info!("Fetching object {object_path}");
>  
>                  let file_path = tmp_base.join(object_path);
>                  if let Some(parent) = file_path.parent() {
> @@ -2549,6 +2544,13 @@ impl DataStore {
>                      )?;
>                  }
>  
> +                if object_path.ends_with(NAMESPACE_MARKER_FILENAME) {
> +                    info!("Created namespace {object_path}");
> +                    continue;
> +                } else {
                     ^^
not wrong technically, but doesn't make much sense... :P
sorry for the noise

> +                    info!("Fetching object {object_path}");
> +                }
> +
>                  let mut target_file = tokio::fs::OpenOptions::new()
>                      .write(true)
>                      .create(true)





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

* applied: [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh
  2026-03-05  9:20 [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh Hannes Laimer
  2026-03-05  9:32 ` Hannes Laimer
@ 2026-03-05  9:49 ` Fabian Grünbichler
  1 sibling, 0 replies; 4+ messages in thread
From: Fabian Grünbichler @ 2026-03-05  9:49 UTC (permalink / raw)
  To: pbs-devel, Hannes Laimer


On Thu, 05 Mar 2026 10:20:32 +0100, Hannes Laimer wrote:
> Without this empty namespaces present on s3 won't be visible locally.
> 
> 

Applied, thanks!

[1/1] datastore: don't skip empty namespaces on s3 refresh
      commit: 3ff962875dd3334a07f6006d44a11cdb5415bb3e

Best regards,
-- 
Fabian Grünbichler <f.gruenbichler@proxmox.com>




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

* Re: [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh
  2026-03-05  9:32 ` Hannes Laimer
@ 2026-03-05  9:53   ` Fabian Grünbichler
  0 siblings, 0 replies; 4+ messages in thread
From: Fabian Grünbichler @ 2026-03-05  9:53 UTC (permalink / raw)
  To: Hannes Laimer, pbs-devel

On March 5, 2026 10:32 am, Hannes Laimer wrote:
> 
> 
> On 2026-03-05 10:20, Hannes Laimer wrote:
>> Without this empty namespaces present on s3 won't be visible locally.
>> 
>> Signed-off-by: Hannes Laimer <h.laimer@proxmox.com>
>> ---
>> v2, thanks @Fabian:
>>  - don't duplicate dir creation, just move ns check to after dir
>>    creation since it is identicaly for namespaces and other things
>> 
>>  pbs-datastore/src/datastore.rs | 12 +++++++-----
>>  1 file changed, 7 insertions(+), 5 deletions(-)
>> 
>> diff --git a/pbs-datastore/src/datastore.rs b/pbs-datastore/src/datastore.rs
>> index 7ad3d917..76b66f7d 100644
>> --- a/pbs-datastore/src/datastore.rs
>> +++ b/pbs-datastore/src/datastore.rs
>> @@ -2534,11 +2534,6 @@ impl DataStore {
>>                  let object_path = object_path.strip_prefix(&store_prefix).with_context(|| {
>>                      format!("failed to strip store context prefix {store_prefix} for {object_key}")
>>                  })?;
>> -                if object_path.ends_with(NAMESPACE_MARKER_FILENAME) {
>> -                    continue;
>> -                }
>> -
>> -                info!("Fetching object {object_path}");
>>  
>>                  let file_path = tmp_base.join(object_path);
>>                  if let Some(parent) = file_path.parent() {
>> @@ -2549,6 +2544,13 @@ impl DataStore {
>>                      )?;
>>                  }
>>  
>> +                if object_path.ends_with(NAMESPACE_MARKER_FILENAME) {
>> +                    info!("Created namespace {object_path}");
>> +                    continue;
>> +                } else {
>                      ^^
> not wrong technically, but doesn't make much sense... :P
> sorry for the noise

added that as follow-up.

> 
>> +                    info!("Fetching object {object_path}");
>> +                }
>> +
>>                  let mut target_file = tokio::fs::OpenOptions::new()
>>                      .write(true)
>>                      .create(true)
> 
> 
> 
> 
> 
> 




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

end of thread, other threads:[~2026-03-05  9:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-03-05  9:20 [PATCH proxmox-backup v2] datastore: don't skip empty namespaces on s3 refresh Hannes Laimer
2026-03-05  9:32 ` Hannes Laimer
2026-03-05  9:53   ` Fabian Grünbichler
2026-03-05  9:49 ` applied: " Fabian Grünbichler

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