diff options
| author | chrislu <chris.lu@gmail.com> | 2025-07-04 13:52:28 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2025-07-04 13:52:28 -0700 |
| commit | d8da465cd327ca299847e38087a971ef4144b480 (patch) | |
| tree | b76b85c85c3d8a965542d70604d48fd9b50fab2e /weed/admin/dash | |
| parent | e85fbd29a186e74ce5de03ba2c6e501ee866dff7 (diff) | |
| download | seaweedfs-d8da465cd327ca299847e38087a971ef4144b480.tar.xz seaweedfs-d8da465cd327ca299847e38087a971ef4144b480.zip | |
fix link to volume server; display volume space usage
Diffstat (limited to 'weed/admin/dash')
| -rw-r--r-- | weed/admin/dash/types.go | 11 | ||||
| -rw-r--r-- | weed/admin/dash/volume_management.go | 16 |
2 files changed, 22 insertions, 5 deletions
diff --git a/weed/admin/dash/types.go b/weed/admin/dash/types.go index 4ca590450..8c0be1aeb 100644 --- a/weed/admin/dash/types.go +++ b/weed/admin/dash/types.go @@ -83,11 +83,12 @@ type VolumeWithTopology struct { } type ClusterVolumesData struct { - Username string `json:"username"` - Volumes []VolumeWithTopology `json:"volumes"` - TotalVolumes int `json:"total_volumes"` - TotalSize int64 `json:"total_size"` - LastUpdated time.Time `json:"last_updated"` + Username string `json:"username"` + Volumes []VolumeWithTopology `json:"volumes"` + TotalVolumes int `json:"total_volumes"` + TotalSize int64 `json:"total_size"` + VolumeSizeLimit uint64 `json:"volume_size_limit"` + LastUpdated time.Time `json:"last_updated"` // Pagination CurrentPage int `json:"current_page"` diff --git a/weed/admin/dash/volume_management.go b/weed/admin/dash/volume_management.go index 608c39a91..61f2ee691 100644 --- a/weed/admin/dash/volume_management.go +++ b/weed/admin/dash/volume_management.go @@ -119,6 +119,21 @@ func (s *AdminServer) GetClusterVolumes(page int, pageSize int, sortBy string, s // Sort volumes s.sortVolumes(volumes, sortBy, sortOrder) + // Get volume size limit from master + var volumeSizeLimit uint64 + err = s.WithMasterClient(func(client master_pb.SeaweedClient) error { + resp, err := client.GetMasterConfiguration(context.Background(), &master_pb.GetMasterConfigurationRequest{}) + if err != nil { + return err + } + volumeSizeLimit = uint64(resp.VolumeSizeLimitMB) * 1024 * 1024 // Convert MB to bytes + return nil + }) + if err != nil { + // If we can't get the limit, set a default + volumeSizeLimit = 30 * 1024 * 1024 * 1024 // 30GB default + } + // Calculate pagination totalVolumes := len(volumes) totalPages := (totalVolumes + pageSize - 1) / pageSize @@ -195,6 +210,7 @@ func (s *AdminServer) GetClusterVolumes(page int, pageSize int, sortBy string, s Volumes: volumes, TotalVolumes: totalVolumes, TotalSize: totalSize, + VolumeSizeLimit: volumeSizeLimit, LastUpdated: time.Now(), CurrentPage: page, TotalPages: totalPages, |
