]> git.proxmox.com Git - proxmox-backup.git/commitdiff
src/pxar/encoder.rs: avoid duplicate check for MAX_DIRECTORY_ENTRIES
authorDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Oct 2019 05:55:56 +0000 (07:55 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Wed, 23 Oct 2019 05:55:56 +0000 (07:55 +0200)
Simply by reordering code.

src/pxar/encoder.rs

index 15fff411fa0d3a2efa88d1a9cd3b99eb852b7996..bffd6b22178479b25209de5d8430546068cf778e 100644 (file)
@@ -700,6 +700,13 @@ impl<'a, W: Write, C: BackupCatalogWriter> Encoder<'a, W, C> {
         };
 
         if include_children {
+            // Exclude patterns passed via the CLI are stored as '.pxarexclude-cli'
+            // in the root directory of the archive.
+            if is_root && match_pattern.len() > 0 {
+                let filename = CString::new(".pxarexclude-cli")?;
+                name_list.push((filename, dir_stat.clone(), match_pattern.clone()));
+            }
+
             for entry in dir.iter() {
                 let entry = entry
                     .map_err(|err| format_err!("readir {:?} failed - {}", self.full_path(), err))?;
@@ -750,20 +757,6 @@ impl<'a, W: Write, C: BackupCatalogWriter> Encoder<'a, W, C> {
                     );
                 }
             }
-
-            // Exclude patterns passed via the CLI are stored as '.pxarexclude-cli'
-            // in the root directory of the archive.
-            if is_root && match_pattern.len() > 0 {
-                let filename = CString::new(".pxarexclude-cli")?;
-                name_list.push((filename, dir_stat.clone(), match_pattern.clone()));
-                if name_list.len() > MAX_DIRECTORY_ENTRIES {
-                    bail!(
-                        "too many directory items in {:?} (> {})",
-                        self.full_path(),
-                        MAX_DIRECTORY_ENTRIES
-                    );
-                }
-            }
         } else {
             eprintln!("skip mount point: {:?}", self.full_path());
         }