diff options
| author | chrislu <chris.lu@gmail.com> | 2023-09-25 09:35:16 -0700 |
|---|---|---|
| committer | chrislu <chris.lu@gmail.com> | 2023-09-25 09:35:16 -0700 |
| commit | 645ae8c57bc449cbb298e90d1ad19f7d2153aea0 (patch) | |
| tree | 08458e352ea27e8e673a3670269ec84f04512d77 /weed/storage | |
| parent | 3d07895518b2b6e816518be0a2355c1f0a98ff15 (diff) | |
| download | seaweedfs-645ae8c57bc449cbb298e90d1ad19f7d2153aea0.tar.xz seaweedfs-645ae8c57bc449cbb298e90d1ad19f7d2153aea0.zip | |
Revert "Revert "Merge branch 'master' of https://github.com/seaweedfs/seaweedfs""
This reverts commit 8cb42c39
Diffstat (limited to 'weed/storage')
| -rw-r--r-- | weed/storage/disk_location_ec.go | 5 | ||||
| -rw-r--r-- | weed/storage/erasure_coding/ec_volume.go | 7 | ||||
| -rw-r--r-- | weed/storage/store_ec.go | 4 |
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 } |
