aboutsummaryrefslogtreecommitdiff
path: root/weed/storage
diff options
context:
space:
mode:
Diffstat (limited to 'weed/storage')
-rw-r--r--weed/storage/disk_location_ec.go5
-rw-r--r--weed/storage/erasure_coding/ec_volume.go7
-rw-r--r--weed/storage/store_ec.go4
3 files changed, 10 insertions, 6 deletions
diff --git a/weed/storage/disk_location_ec.go b/weed/storage/disk_location_ec.go
index 5af354277..8315fe363 100644
--- a/weed/storage/disk_location_ec.go
+++ b/weed/storage/disk_location_ec.go
@@ -7,6 +7,7 @@ import (
"path"
"regexp"
"strconv"
+ "strings"
"github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding"
"github.com/seaweedfs/seaweedfs/weed/storage/needle"
@@ -144,8 +145,8 @@ func (l *DiskLocation) loadAllEcShards() (err error) {
}
dirEntries = append(dirEntries, indexDirEntries...)
}
- slices.SortFunc(dirEntries, func(a, b os.DirEntry) bool {
- return a.Name() < b.Name()
+ slices.SortFunc(dirEntries, func(a, b os.DirEntry) int {
+ return strings.Compare(a.Name(), b.Name())
})
var sameVolumeShards []string
var prevVolumeId needle.VolumeId
diff --git a/weed/storage/erasure_coding/ec_volume.go b/weed/storage/erasure_coding/ec_volume.go
index 3e48e2c2d..81284d19f 100644
--- a/weed/storage/erasure_coding/ec_volume.go
+++ b/weed/storage/erasure_coding/ec_volume.go
@@ -84,8 +84,11 @@ func (ev *EcVolume) AddEcVolumeShard(ecVolumeShard *EcVolumeShard) bool {
}
}
ev.Shards = append(ev.Shards, ecVolumeShard)
- slices.SortFunc(ev.Shards, func(a, b *EcVolumeShard) bool {
- return a.VolumeId < b.VolumeId || a.VolumeId == b.VolumeId && a.ShardId < b.ShardId
+ slices.SortFunc(ev.Shards, func(a, b *EcVolumeShard) int {
+ if a.VolumeId != b.VolumeId {
+ return int(a.VolumeId - b.VolumeId)
+ }
+ return int(a.ShardId - b.ShardId)
})
return true
}
diff --git a/weed/storage/store_ec.go b/weed/storage/store_ec.go
index 18dc5677c..4e2c8df3b 100644
--- a/weed/storage/store_ec.go
+++ b/weed/storage/store_ec.go
@@ -400,8 +400,8 @@ func (s *Store) EcVolumes() (ecVolumes []*erasure_coding.EcVolume) {
}
location.ecVolumesLock.RUnlock()
}
- slices.SortFunc(ecVolumes, func(a, b *erasure_coding.EcVolume) bool {
- return a.VolumeId > b.VolumeId
+ slices.SortFunc(ecVolumes, func(a, b *erasure_coding.EcVolume) int {
+ return int(b.VolumeId - a.VolumeId)
})
return ecVolumes
}