diff options
| author | Chris Lu <chris.lu@uber.com> | 2019-03-17 20:27:08 -0700 |
|---|---|---|
| committer | Chris Lu <chris.lu@uber.com> | 2019-03-17 20:27:08 -0700 |
| commit | aca653c08bfaae205e3a62ae9e58ce327a5a583f (patch) | |
| tree | 83cc519f45f0186c10365c5a332e8a995fdb00ed /weed/topology/rack.go | |
| parent | 22fbbf023b180e3c51261b0746a52be715e86648 (diff) | |
| download | seaweedfs-aca653c08bfaae205e3a62ae9e58ce327a5a583f.tar.xz seaweedfs-aca653c08bfaae205e3a62ae9e58ce327a5a583f.zip | |
weed shell: list volumes
Diffstat (limited to 'weed/topology/rack.go')
| -rw-r--r-- | weed/topology/rack.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/weed/topology/rack.go b/weed/topology/rack.go index a48d64323..f8f8ce34a 100644 --- a/weed/topology/rack.go +++ b/weed/topology/rack.go @@ -1,6 +1,7 @@ package topology import ( + "github.com/chrislusf/seaweedfs/weed/pb/master_pb" "strconv" "time" ) @@ -58,3 +59,18 @@ func (r *Rack) ToMap() interface{} { m["DataNodes"] = dns return m } + +func (r *Rack) ToRackInfo() *master_pb.RackInfo { + m := &master_pb.RackInfo{ + Id: string(r.Id()), + VolumeCount: uint64(r.GetVolumeCount()), + MaxVolumeCount: uint64(r.GetMaxVolumeCount()), + FreeVolumeCount: uint64(r.FreeSpace()), + ActiveVolumeCount: uint64(r.GetActiveVolumeCount()), + } + for _, c := range r.Children() { + dn := c.(*DataNode) + m.DataNodeInfos = append(m.DataNodeInfos, dn.ToDataNodeInfo()) + } + return m +} |
