mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2025-10-21 10:57:24 +08:00
weed shell: list volumes
This commit is contained in:
@@ -144,24 +144,12 @@ func (s *Store) CollectHeartbeat() *master_pb.Heartbeat {
|
||||
for _, location := range s.Locations {
|
||||
maxVolumeCount = maxVolumeCount + location.MaxVolumeCount
|
||||
location.Lock()
|
||||
for k, v := range location.volumes {
|
||||
for _, v := range location.volumes {
|
||||
if maxFileKey < v.nm.MaxFileKey() {
|
||||
maxFileKey = v.nm.MaxFileKey()
|
||||
}
|
||||
if !v.expired(s.VolumeSizeLimit) {
|
||||
volumeMessage := &master_pb.VolumeInformationMessage{
|
||||
Id: uint32(k),
|
||||
Size: uint64(v.Size()),
|
||||
Collection: v.Collection,
|
||||
FileCount: uint64(v.nm.FileCount()),
|
||||
DeleteCount: uint64(v.nm.DeletedCount()),
|
||||
DeletedByteCount: v.nm.DeletedSize(),
|
||||
ReadOnly: v.readOnly,
|
||||
ReplicaPlacement: uint32(v.ReplicaPlacement.Byte()),
|
||||
Version: uint32(v.Version()),
|
||||
Ttl: v.Ttl.ToUint32(),
|
||||
}
|
||||
volumeMessages = append(volumeMessages, volumeMessage)
|
||||
volumeMessages = append(volumeMessages, v.ToVolumeInformationMessage())
|
||||
} else {
|
||||
if v.expiredLongEnough(MAX_TTL_VOLUME_REMOVAL_DELAY) {
|
||||
location.deleteVolumeById(v.Id)
|
||||
|
@@ -2,6 +2,7 @@ package storage
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
|
||||
"os"
|
||||
"path"
|
||||
"sync"
|
||||
@@ -134,3 +135,18 @@ func (v *Volume) expiredLongEnough(maxDelayMinutes uint32) bool {
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
func (v *Volume) ToVolumeInformationMessage() *master_pb.VolumeInformationMessage {
|
||||
return &master_pb.VolumeInformationMessage{
|
||||
Id: uint32(v.Id),
|
||||
Size: uint64(v.Size()),
|
||||
Collection: v.Collection,
|
||||
FileCount: uint64(v.nm.FileCount()),
|
||||
DeleteCount: uint64(v.nm.DeletedCount()),
|
||||
DeletedByteCount: v.nm.DeletedSize(),
|
||||
ReadOnly: v.readOnly,
|
||||
ReplicaPlacement: uint32(v.ReplicaPlacement.Byte()),
|
||||
Version: uint32(v.Version()),
|
||||
Ttl: v.Ttl.ToUint32(),
|
||||
}
|
||||
}
|
||||
|
@@ -45,6 +45,22 @@ func (vi VolumeInfo) String() string {
|
||||
vi.Id, vi.Size, vi.ReplicaPlacement, vi.Collection, vi.Version, vi.FileCount, vi.DeleteCount, vi.DeletedByteCount, vi.ReadOnly)
|
||||
}
|
||||
|
||||
func (vi VolumeInfo) ToVolumeInformationMessage() *master_pb.VolumeInformationMessage {
|
||||
return &master_pb.VolumeInformationMessage{
|
||||
Id: uint32(vi.Id),
|
||||
Size: uint64(vi.Size),
|
||||
Collection: vi.Collection,
|
||||
FileCount: uint64(vi.FileCount),
|
||||
DeleteCount: uint64(vi.DeleteCount),
|
||||
DeletedByteCount: vi.DeletedByteCount,
|
||||
ReadOnly: vi.ReadOnly,
|
||||
ReplicaPlacement: uint32(vi.ReplicaPlacement.Byte()),
|
||||
Version: uint32(vi.Version),
|
||||
Ttl: vi.Ttl.ToUint32(),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*VolumesInfo sorting*/
|
||||
|
||||
type volumeInfos []*VolumeInfo
|
||||
|
Reference in New Issue
Block a user