]> git.proxmox.com Git - proxmox-backup.git/commitdiff
datastore status: do not count empty groups
authorDietmar Maurer <dietmar@proxmox.com>
Fri, 7 Jan 2022 07:40:22 +0000 (08:40 +0100)
committerDietmar Maurer <dietmar@proxmox.com>
Fri, 7 Jan 2022 07:40:22 +0000 (08:40 +0100)
Signed-off-by: Dietmar Maurer <dietmar@proxmox.com>
src/api2/admin/datastore.rs

index d811fd23a13adf34c6fff154958d15df1d71301d..4073c96b5f8dc7595531046c997407b09343a141 100644 (file)
@@ -568,15 +568,19 @@ fn get_snapshots_count(store: &DataStore, filter_owner: Option<&Authid>) -> Resu
         .try_fold(Counts::default(), |mut counts, group| {
             let snapshot_count = group.list_backups(&base_path)?.len() as u64;
 
-            let type_count = match group.backup_type() {
-                "ct" => counts.ct.get_or_insert(Default::default()),
-                "vm" => counts.vm.get_or_insert(Default::default()),
-                "host" => counts.host.get_or_insert(Default::default()),
-                _ => counts.other.get_or_insert(Default::default()),
-            };
+            // only include groups with snapshots (avoid confusing users
+            // by counting/displaying emtpy groups)
+            if snapshot_count > 0 {
+                let type_count = match group.backup_type() {
+                    "ct" => counts.ct.get_or_insert(Default::default()),
+                    "vm" => counts.vm.get_or_insert(Default::default()),
+                    "host" => counts.host.get_or_insert(Default::default()),
+                    _ => counts.other.get_or_insert(Default::default()),
+                };
 
-            type_count.groups += 1;
-            type_count.snapshots += snapshot_count;
+                type_count.groups += 1;
+                type_count.snapshots += snapshot_count;
+            }
 
             Ok(counts)
         })