Lisandro Pin
6b98b52acc
Fix reporting of EC shard sizes from nodes to masters. (#7835)
SeaweedFS tracks EC shard sizes on topology data stuctures, but this information is never
relayed to master servers :( The end result is that commands reporting disk usage, such
as `volume.list` and `cluster.status`, yield incorrect figures when EC shards are present.
As an example for a simple 5-node test cluster, before...
```
> volume.list
Topology volumeSizeLimit:30000 MB hdd(volume:6/40 active:6 free:33 remote:0)
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9001 hdd(volume:1/8 active:1 free:7 remote:0)
Disk hdd(volume:1/8 active:1 free:7 remote:0) id:0
volume id:3 size:88967096 file_count:172 replica_placement:2 version:3 modified_at_second:1766349617
ec volume id:1 collection: shards:[1 5]
Disk hdd total size:88967096 file_count:172
DataNode 192.168.10.111:9001 total size:88967096 file_count:172
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9002 hdd(volume:2/8 active:2 free:6 remote:0)
Disk hdd(volume:2/8 active:2 free:6 remote:0) id:0
volume id:2 size:77267536 file_count:166 replica_placement:2 version:3 modified_at_second:1766349617
volume id:3 size:88967096 file_count:172 replica_placement:2 version:3 modified_at_second:1766349617
ec volume id:1 collection: shards:[0 4]
Disk hdd total size:166234632 file_count:338
DataNode 192.168.10.111:9002 total size:166234632 file_count:338
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9003 hdd(volume:1/8 active:1 free:7 remote:0)
Disk hdd(volume:1/8 active:1 free:7 remote:0) id:0
volume id:2 size:77267536 file_count:166 replica_placement:2 version:3 modified_at_second:1766349617
ec volume id:1 collection: shards:[2 6]
Disk hdd total size:77267536 file_count:166
DataNode 192.168.10.111:9003 total size:77267536 file_count:166
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9004 hdd(volume:2/8 active:2 free:6 remote:0)
Disk hdd(volume:2/8 active:2 free:6 remote:0) id:0
volume id:2 size:77267536 file_count:166 replica_placement:2 version:3 modified_at_second:1766349617
volume id:3 size:88967096 file_count:172 replica_placement:2 version:3 modified_at_second:1766349617
ec volume id:1 collection: shards:[3 7]
Disk hdd total size:166234632 file_count:338
DataNode 192.168.10.111:9004 total size:166234632 file_count:338
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9005 hdd(volume:0/8 active:0 free:8 remote:0)
Disk hdd(volume:0/8 active:0 free:8 remote:0) id:0
ec volume id:1 collection: shards:[8 9 10 11 12 13]
Disk hdd total size:0 file_count:0
Rack DefaultRack total size:498703896 file_count:1014
DataCenter DefaultDataCenter total size:498703896 file_count:1014
total size:498703896 file_count:1014
```
...and after:
```
> volume.list
Topology volumeSizeLimit:30000 MB hdd(volume:6/40 active:6 free:33 remote:0)
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9001 hdd(volume:1/8 active:1 free:7 remote:0)
Disk hdd(volume:1/8 active:1 free:7 remote:0) id:0
volume id:2 size:81761800 file_count:161 replica_placement:2 version:3 modified_at_second:1766349495
ec volume id:1 collection: shards:[1 5 9] sizes:[1:8.00 MiB 5:8.00 MiB 9:8.00 MiB] total:24.00 MiB
Disk hdd total size:81761800 file_count:161
DataNode 192.168.10.111:9001 total size:81761800 file_count:161
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9002 hdd(volume:1/8 active:1 free:7 remote:0)
Disk hdd(volume:1/8 active:1 free:7 remote:0) id:0
volume id:3 size:88678712 file_count:170 replica_placement:2 version:3 modified_at_second:1766349495
ec volume id:1 collection: shards:[11 12 13] sizes:[11:8.00 MiB 12:8.00 MiB 13:8.00 MiB] total:24.00 MiB
Disk hdd total size:88678712 file_count:170
DataNode 192.168.10.111:9002 total size:88678712 file_count:170
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9003 hdd(volume:2/8 active:2 free:6 remote:0)
Disk hdd(volume:2/8 active:2 free:6 remote:0) id:0
volume id:2 size:81761800 file_count:161 replica_placement:2 version:3 modified_at_second:1766349495
volume id:3 size:88678712 file_count:170 replica_placement:2 version:3 modified_at_second:1766349495
ec volume id:1 collection: shards:[0 4 8] sizes:[0:8.00 MiB 4:8.00 MiB 8:8.00 MiB] total:24.00 MiB
Disk hdd total size:170440512 file_count:331
DataNode 192.168.10.111:9003 total size:170440512 file_count:331
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9004 hdd(volume:2/8 active:2 free:6 remote:0)
Disk hdd(volume:2/8 active:2 free:6 remote:0) id:0
volume id:2 size:81761800 file_count:161 replica_placement:2 version:3 modified_at_second:1766349495
volume id:3 size:88678712 file_count:170 replica_placement:2 version:3 modified_at_second:1766349495
ec volume id:1 collection: shards:[2 6 10] sizes:[2:8.00 MiB 6:8.00 MiB 10:8.00 MiB] total:24.00 MiB
Disk hdd total size:170440512 file_count:331
DataNode 192.168.10.111:9004 total size:170440512 file_count:331
DataCenter DefaultDataCenter hdd(volume:6/40 active:6 free:33 remote:0)
Rack DefaultRack hdd(volume:6/40 active:6 free:33 remote:0)
DataNode 192.168.10.111:9005 hdd(volume:0/8 active:0 free:8 remote:0)
Disk hdd(volume:0/8 active:0 free:8 remote:0) id:0
ec volume id:1 collection: shards:[3 7] sizes:[3:8.00 MiB 7:8.00 MiB] total:16.00 MiB
Disk hdd total size:0 file_count:0
Rack DefaultRack total size:511321536 file_count:993
DataCenter DefaultDataCenter total size:511321536 file_count:993
total size:511321536 file_count:993
```
2025-12-28 19:30:42 -08:00
..
2024-12-10 08:43:59 -08:00
2024-09-29 10:38:22 -07:00
2025-07-16 23:39:27 -07:00
2025-12-19 00:15:39 -08:00
2025-12-19 00:15:39 -08:00
2025-07-16 23:39:27 -07:00
2025-07-16 23:39:27 -07:00
2025-12-17 16:40:27 -08:00
2025-12-28 19:30:42 -08:00
2025-11-09 19:58:38 -08:00
2024-09-29 10:38:22 -07:00
2025-12-10 22:42:52 -08:00
2025-12-19 13:29:12 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-11-09 19:58:38 -08:00
2025-10-24 20:21:35 -07:00
2025-05-22 09:46:49 -07:00
2025-10-24 20:21:35 -07:00
2025-05-28 11:34:02 -07:00
2025-10-24 20:21:35 -07:00
2025-11-09 19:58:38 -08:00
2025-11-18 07:45:12 -08:00
2025-10-24 20:21:35 -07:00
2025-12-26 12:30:30 -08:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-10-24 20:21:35 -07:00
2025-05-28 11:34:02 -07:00
2024-09-29 10:38:22 -07:00
2025-10-17 22:11:50 -07:00
2024-09-29 10:38:22 -07:00
2025-10-13 18:05:17 -07:00
2025-01-20 22:19:27 -08:00
2025-01-20 22:19:27 -08:00
2025-07-16 23:39:27 -07:00
2025-09-09 01:01:03 -07:00
2025-12-16 12:41:04 -08:00
2025-12-28 11:39:06 -08:00
2025-07-16 23:39:27 -07:00
2025-07-16 23:39:27 -07:00
2025-07-16 23:39:27 -07:00
2025-07-16 23:39:27 -07:00
2025-07-16 23:39:27 -07:00
2025-12-12 18:06:13 -08:00
2025-12-13 13:41:25 -08:00
2025-12-12 18:06:13 -08:00
2025-12-12 18:06:13 -08:00
2025-12-12 12:51:48 -08:00
2025-07-16 23:39:27 -07:00
2022-09-16 02:43:49 -07:00
2025-03-31 21:42:54 -07:00
2025-07-16 23:39:27 -07:00
2025-11-19 20:34:38 -08:00
2025-08-23 11:04:24 -07:00
2025-12-28 19:30:42 -08:00
2025-12-02 10:14:24 -08:00
2025-12-03 11:33:35 -08:00
2025-07-16 23:39:27 -07:00
2025-06-16 07:39:19 -07:00
2025-11-09 19:58:38 -08:00
2024-09-29 10:38:22 -07:00
2024-09-26 08:34:13 -07:00
2025-12-26 12:42:00 -08:00
2025-12-12 23:42:27 -08:00
2024-09-29 10:38:22 -07:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2024-12-18 11:59:48 -08:00
2025-12-16 23:16:07 -08:00
2025-12-16 23:16:07 -08:00
2023-03-13 10:00:27 -07:00
2025-12-28 19:30:42 -08:00
2025-11-09 19:58:38 -08:00
2025-08-23 11:04:24 -07:00
2025-12-16 23:16:07 -08:00
2025-08-23 11:04:24 -07:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2024-09-29 10:38:22 -07:00
2025-10-30 23:36:06 -07:00
2025-12-15 11:18:45 -08:00
2025-12-02 09:29:27 -08:00
2025-12-19 13:29:12 -08:00
2025-12-28 19:30:42 -08:00
2025-12-28 19:30:42 -08:00
2025-10-24 19:02:44 -07:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00
2025-12-15 11:18:45 -08:00