[pve-devel] [PATCH manager] Fix #936: ceph: support multiple roots in osd tree
Wolfgang Bumiller
w.bumiller at proxmox.com
Tue Apr 12 09:56:04 CEST 2016
The OSD tree in our GUI otherwise only shows the "first"
root it finds in the crush map.
---
PVE/API2/Ceph.pm | 9 ++++-----
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/PVE/API2/Ceph.pm b/PVE/API2/Ceph.pm
index 786eecf..b0bf61e 100644
--- a/PVE/API2/Ceph.pm
+++ b/PVE/API2/Ceph.pm
@@ -138,17 +138,16 @@ __PACKAGE__->register_method ({
}
}
- my $rootnode;
+ my $roots = [];
foreach my $e (@{$res->{nodes}}) {
if (!$nodes->{$e->{id}}->{parent}) {
- $rootnode = $newnodes->{$e->{id}};
- last;
+ push @$roots, $newnodes->{$e->{id}};
}
}
- die "no root node\n" if !$rootnode;
+ die "no root node\n" if !@$roots;
- my $data = { root => $rootnode };
+ my $data = { root => { leaf => 0, children => $roots } };
return $data;
}});
--
2.1.4
More information about the pve-devel
mailing list