Browse Source

mount: stats report physical size instead of logical size

pull/3235/head
chrislu 3 years ago
parent
commit
3142e77eca
  1. 3
      weed/server/master_grpc_server_volume.go
  2. 4
      weed/topology/volume_layout.go

3
weed/server/master_grpc_server_volume.go

@ -209,8 +209,9 @@ func (ms *MasterServer) Statistics(ctx context.Context, req *master_pb.Statistic
volumeLayout := ms.Topo.GetVolumeLayout(req.Collection, replicaPlacement, ttl, types.ToDiskType(req.DiskType)) volumeLayout := ms.Topo.GetVolumeLayout(req.Collection, replicaPlacement, ttl, types.ToDiskType(req.DiskType))
stats := volumeLayout.Stats() stats := volumeLayout.Stats()
totalSize := ms.Topo.GetDiskUsages().GetMaxVolumeCount() * int64(ms.option.VolumeSizeLimitMB)
resp := &master_pb.StatisticsResponse{ resp := &master_pb.StatisticsResponse{
TotalSize: stats.TotalSize,
TotalSize: uint64(totalSize),
UsedSize: stats.UsedSize, UsedSize: stats.UsedSize,
FileCount: stats.FileCount, FileCount: stats.FileCount,
} }

4
weed/topology/volume_layout.go

@ -493,9 +493,9 @@ func (vl *VolumeLayout) Stats() *VolumeLayoutStats {
for vid, vll := range vl.vid2location { for vid, vll := range vl.vid2location {
size, fileCount := vll.Stats(vid, freshThreshold) size, fileCount := vll.Stats(vid, freshThreshold)
ret.FileCount += uint64(fileCount) ret.FileCount += uint64(fileCount)
ret.UsedSize += size
ret.UsedSize += size * uint64(vll.Length())
if vl.readonlyVolumes.IsTrue(vid) { if vl.readonlyVolumes.IsTrue(vid) {
ret.TotalSize += size
ret.TotalSize += size * uint64(vll.Length())
} else { } else {
ret.TotalSize += vl.volumeSizeLimit * uint64(vll.Length()) ret.TotalSize += vl.volumeSizeLimit * uint64(vll.Length())
} }

Loading…
Cancel
Save