diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-06-22 10:56:54 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-06-22 10:56:54 -0700 |
| commit | 6bc3dee5b37aefc0a04603c6f00670dd6ec2d2ea (patch) | |
| tree | 4423508f2622b3bc6b5975579085e8d8d32d1670 /weed/shell/command_volume_fix_replication.go | |
| parent | 95ad56d99dfb4b344de51084f7d272c596b9b32f (diff) | |
| download | seaweedfs-6bc3dee5b37aefc0a04603c6f00670dd6ec2d2ea.tar.xz seaweedfs-6bc3dee5b37aefc0a04603c6f00670dd6ec2d2ea.zip | |
refactoring
Diffstat (limited to 'weed/shell/command_volume_fix_replication.go')
| -rw-r--r-- | weed/shell/command_volume_fix_replication.go | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/weed/shell/command_volume_fix_replication.go b/weed/shell/command_volume_fix_replication.go index 09e1c19eb..0b3b0363c 100644 --- a/weed/shell/command_volume_fix_replication.go +++ b/weed/shell/command_volume_fix_replication.go @@ -63,20 +63,16 @@ func (c *commandVolumeFixReplication) Do(args []string, commandEnv *CommandEnv, replicatedVolumeLocations := make(map[uint32][]location) replicatedVolumeInfo := make(map[uint32]*master_pb.VolumeInformationMessage) var allLocations []location - for _, dc := range resp.TopologyInfo.DataCenterInfos { - for _, rack := range dc.RackInfos { - for _, dn := range rack.DataNodeInfos { - loc := newLocation(dc.Id, rack.Id, dn) - for _, v := range dn.VolumeInfos { - if v.ReplicaPlacement > 0 { - replicatedVolumeLocations[v.Id] = append(replicatedVolumeLocations[v.Id], loc) - replicatedVolumeInfo[v.Id] = v - } - } - allLocations = append(allLocations, loc) + eachDataNode(resp.TopologyInfo, func(dc string, rack RackId, dn *master_pb.DataNodeInfo) { + loc := newLocation(dc.Id, rack.Id, dn) + for _, v := range dn.VolumeInfos { + if v.ReplicaPlacement > 0 { + replicatedVolumeLocations[v.Id] = append(replicatedVolumeLocations[v.Id], loc) + replicatedVolumeInfo[v.Id] = v } } - } + allLocations = append(allLocations, loc) + }) // find all under replicated volumes underReplicatedVolumeLocations := make(map[uint32][]location) |
