volume: load ec shards during heartbeats to master
This commit is contained in:
21
weed/storage/store_ec.go
Normal file
21
weed/storage/store_ec.go
Normal file
@@ -0,0 +1,21 @@
|
||||
package storage
|
||||
|
||||
import (
|
||||
"github.com/chrislusf/seaweedfs/weed/pb/master_pb"
|
||||
)
|
||||
|
||||
func (s *Store) CollectErasureCodingHeartbeat() *master_pb.Heartbeat {
|
||||
var ecShardMessages []*master_pb.VolumeEcShardInformationMessage
|
||||
for _, location := range s.Locations {
|
||||
location.ecShardsLock.RLock()
|
||||
for _, ecShards := range location.ecShards {
|
||||
ecShardMessages = append(ecShardMessages, ecShards.ToVolumeInformationMessage()...)
|
||||
}
|
||||
location.ecShardsLock.RUnlock()
|
||||
}
|
||||
|
||||
return &master_pb.Heartbeat{
|
||||
EcShards: ecShardMessages,
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user