ui add ec shard statuses

This commit is contained in:
Chris Lu
2019-06-04 21:52:37 -07:00
parent 0e52862586
commit 2215e81be7
8 changed files with 81 additions and 0 deletions

View File

@@ -4,6 +4,7 @@ import (
"context"
"fmt"
"io"
"sort"
"sync"
"time"
@@ -365,3 +366,17 @@ func (s *Store) recoverOneRemoteEcShardInterval(ctx context.Context, ecVolume *e
return len(buf), nil
}
func (s *Store) EcVolumes() (ecVolumes []*erasure_coding.EcVolume) {
for _, location := range s.Locations {
location.ecVolumesLock.RLock()
for _, v := range location.ecVolumes {
ecVolumes = append(ecVolumes, v)
}
location.ecVolumesLock.RUnlock()
}
sort.Slice(ecVolumes, func(i, j int) bool {
return ecVolumes[i].VolumeId > ecVolumes[j].VolumeId
})
return ecVolumes
}