diff options
| author | Chris Lu <chris.lu@gmail.com> | 2021-02-16 03:55:24 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2021-02-16 03:55:24 -0800 |
| commit | cb9cc295184c269da5d4e4028ca29badfa16eec7 (patch) | |
| tree | 14faec5623ab318668c7df4d6a943187b002e89e /weed/topology/disk.go | |
| parent | 3fe628f04e2aa3ac550c670c27d00fcc3fc2e12b (diff) | |
| download | seaweedfs-cb9cc295184c269da5d4e4028ca29badfa16eec7.tar.xz seaweedfs-cb9cc295184c269da5d4e4028ca29badfa16eec7.zip | |
volume.list display; fix updating maxVolumeCount for disk
Diffstat (limited to 'weed/topology/disk.go')
| -rw-r--r-- | weed/topology/disk.go | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/weed/topology/disk.go b/weed/topology/disk.go index 831528949..0e8ce60cd 100644 --- a/weed/topology/disk.go +++ b/weed/topology/disk.go @@ -42,7 +42,7 @@ func newDiskUsages() *DiskUsages { } } -func (d *DiskUsages) negative() (*DiskUsages) { +func (d *DiskUsages) negative() *DiskUsages { d.RLock() defer d.RUnlock() t := newDiskUsages() @@ -68,6 +68,21 @@ func (d *DiskUsages) ToMap() interface{} { return ret } +func (d *DiskUsages) ToDiskInfo() (map[string]*master_pb.DiskInfo) { + ret := make(map[string]*master_pb.DiskInfo) + for diskType, diskUsageCounts := range d.usages { + m := &master_pb.DiskInfo{ + VolumeCount: uint64(diskUsageCounts.volumeCount), + MaxVolumeCount: uint64(diskUsageCounts.maxVolumeCount), + FreeVolumeCount: uint64(diskUsageCounts.maxVolumeCount - diskUsageCounts.volumeCount), + ActiveVolumeCount: uint64(diskUsageCounts.activeVolumeCount), + RemoteVolumeCount: uint64(diskUsageCounts.remoteVolumeCount), + } + ret[string(diskType)] = m + } + return ret +} + func (d *DiskUsages) FreeSpace() (freeSpace int64) { d.RLock() defer d.RUnlock() @@ -77,7 +92,6 @@ func (d *DiskUsages) FreeSpace() (freeSpace int64) { return } - func (d *DiskUsages) GetMaxVolumeCount() (maxVolumeCount int64) { d.RLock() defer d.RUnlock() @@ -111,13 +125,13 @@ func (a *DiskUsageCounts) FreeSpace() int64 { return freeVolumeSlotCount } -func (a *DiskUsageCounts) minus(b *DiskUsageCounts) (*DiskUsageCounts) { +func (a *DiskUsageCounts) minus(b *DiskUsageCounts) *DiskUsageCounts { return &DiskUsageCounts{ - volumeCount: a.volumeCount - b.volumeCount, + volumeCount: a.volumeCount - b.volumeCount, remoteVolumeCount: a.remoteVolumeCount - b.remoteVolumeCount, activeVolumeCount: a.activeVolumeCount - b.activeVolumeCount, - ecShardCount: a.ecShardCount - b.ecShardCount, - maxVolumeCount: a.maxVolumeCount - b.maxVolumeCount, + ecShardCount: a.ecShardCount - b.ecShardCount, + maxVolumeCount: a.maxVolumeCount - b.maxVolumeCount, } } @@ -248,7 +262,7 @@ func (d *Disk) ToDiskInfo() *master_pb.DiskInfo { Type: string(d.Id()), VolumeCount: uint64(diskUsage.volumeCount), MaxVolumeCount: uint64(diskUsage.maxVolumeCount), - FreeVolumeCount: uint64(d.FreeSpace()), + FreeVolumeCount: uint64(diskUsage.maxVolumeCount - diskUsage.volumeCount), ActiveVolumeCount: uint64(diskUsage.activeVolumeCount), RemoteVolumeCount: uint64(diskUsage.remoteVolumeCount), } |
