aboutsummaryrefslogtreecommitdiff
path: root/weed/topology/rack.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@uber.com>2019-03-17 20:27:08 -0700
committerChris Lu <chris.lu@uber.com>2019-03-17 20:27:08 -0700
commitaca653c08bfaae205e3a62ae9e58ce327a5a583f (patch)
tree83cc519f45f0186c10365c5a332e8a995fdb00ed /weed/topology/rack.go
parent22fbbf023b180e3c51261b0746a52be715e86648 (diff)
downloadseaweedfs-aca653c08bfaae205e3a62ae9e58ce327a5a583f.tar.xz
seaweedfs-aca653c08bfaae205e3a62ae9e58ce327a5a583f.zip
weed shell: list volumes
Diffstat (limited to 'weed/topology/rack.go')
-rw-r--r--weed/topology/rack.go16
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
+}