diff options
| author | Konstantin Lebedev <9497591+kmlebedev@users.noreply.github.com> | 2024-11-25 22:30:37 +0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-11-25 09:30:37 -0800 |
| commit | 8836fa19b697429d09359897fc2aff52e626947b (patch) | |
| tree | 4a70826bb6a4d94d71f0fcfa4b2252bb32dd4acc /weed/topology/topology.go | |
| parent | 167b50be889f056b31ff2f178079541167e644ed (diff) | |
| download | seaweedfs-8836fa19b697429d09359897fc2aff52e626947b.tar.xz seaweedfs-8836fa19b697429d09359897fc2aff52e626947b.zip | |
use ShouldGrowVolumesByDcAndRack (#6280)
Diffstat (limited to 'weed/topology/topology.go')
| -rw-r--r-- | weed/topology/topology.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/weed/topology/topology.go b/weed/topology/topology.go index e436b453a..be50eecdf 100644 --- a/weed/topology/topology.go +++ b/weed/topology/topology.go @@ -369,6 +369,19 @@ func (t *Topology) ListDataCenters() (dcs []string) { return dcs } +func (t *Topology) ListDCAndRacks() (dcs map[NodeId][]NodeId) { + t.RLock() + defer t.RUnlock() + dcs = make(map[NodeId][]NodeId) + for _, dcNode := range t.children { + dcNodeId := dcNode.(*DataCenter).Id() + for _, rackNode := range dcNode.Children() { + dcs[dcNodeId] = append(dcs[dcNodeId], rackNode.(*Rack).Id()) + } + } + return dcs +} + func (t *Topology) SyncDataNodeRegistration(volumes []*master_pb.VolumeInformationMessage, dn *DataNode) (newVolumes, deletedVolumes []storage.VolumeInfo) { // convert into in memory struct storage.VolumeInfo var volumeInfos []storage.VolumeInfo |
