]> git.proxmox.com Git - proxmox-backup.git/commitdiff
ns: max depth: set constant to upper inclusive boundary
authorThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 5 May 2022 15:15:31 +0000 (17:15 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 12 May 2022 07:33:50 +0000 (09:33 +0200)
makes usage a bit simpler, e.g., the api maximum can use that 1:1
then.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
pbs-api-types/src/datastore.rs

index 8eb2ad624ad7f506c01cbde6786d453e027d9f2e..8c7ebad026ca566804d7662f12def648e0a6dd73 100644 (file)
@@ -69,7 +69,10 @@ pub const BACKUP_GROUP_SCHEMA: Schema = StringSchema::new("Backup Group")
     .format(&BACKUP_GROUP_FORMAT)
     .schema();
 
-pub const MAX_NAMESPACE_DEPTH: usize = 8;
+/// The maximal, inclusive depth for namespaces from the root ns downwards
+///
+/// The datastore root name space is at depth zero (0), so we have in total eight (8) levels
+pub const MAX_NAMESPACE_DEPTH: usize = 7;
 pub const MAX_BACKUP_NAMESPACE_LENGTH: usize = 32 * 8; // 256
 pub const BACKUP_NAMESPACE_SCHEMA: Schema = StringSchema::new("Namespace.")
     .format(&BACKUP_NAMESPACE_FORMAT)
@@ -611,7 +614,7 @@ impl BackupNamespace {
     /// Assumes `subdir` already does not contain any slashes.
     /// Performs remaining checks and updates the length.
     fn push_do(&mut self, subdir: String) -> Result<(), Error> {
-        if self.depth() >= MAX_NAMESPACE_DEPTH {
+        if self.depth() > MAX_NAMESPACE_DEPTH {
             bail!(
                 "namespace to deep, {} > max {}",
                 self.inner.len(),