From 576e143ac1362222a20b0a2f743d4be7fd0c95f1 Mon Sep 17 00:00:00 2001 From: Fabian Ebner Date: Fri, 10 Sep 2021 13:45:35 +0200 Subject: [PATCH] fix #3610: properly build ZFS detail tree Previously, top-level vdevs like log or special were wrongly added as children of the previous outer vdev instead of the root. Fix it by also showing the vdev with the same name as the pool and start counting from level 1 (the pool itself serves as the root and should be the only one with level 0). This results in the same kind of structure as in PBS and (except for the root) zpool status itself. Signed-off-by: Fabian Ebner --- PVE/API2/Disks/ZFS.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Disks/ZFS.pm b/PVE/API2/Disks/ZFS.pm index 0418794..60077c4 100644 --- a/PVE/API2/Disks/ZFS.pm +++ b/PVE/API2/Disks/ZFS.pm @@ -240,8 +240,8 @@ __PACKAGE__->register_method ({ $config = 1; } elsif ($config && $line =~ m/^(\s+)(\S+)\s*(\S+)?(?:\s+(\S+)\s+(\S+)\s+(\S+))?\s*(.*)$/) { my ($space, $name, $state, $read, $write, $cksum, $msg) = ($1, $2, $3, $4, $5, $6, $7); - if ($name ne "NAME" and $name ne $param->{name}) { - my $lvl= int(length($space)/2); # two spaces per level + if ($name ne "NAME") { + my $lvl = int(length($space) / 2) + 1; # two spaces per level my $vdev = { name => $name, msg => $msg,