53 lines
1.5 KiB
Diff
53 lines
1.5 KiB
Diff
# UNDF: UNDF-2026-000001033
|
|
--- a/weed/shell/command_fs_verify.go
|
|
+++ b/weed/shell/command_fs_verify.go
|
|
@@ -1,16 +1,15 @@
|
|
package shell
|
|
|
|
import (
|
|
"bytes"
|
|
"context"
|
|
"flag"
|
|
"fmt"
|
|
"io"
|
|
"math"
|
|
"strings"
|
|
"sync"
|
|
"time"
|
|
|
|
- "slices"
|
|
-
|
|
"github.com/seaweedfs/seaweedfs/weed/filer"
|
|
"github.com/seaweedfs/seaweedfs/weed/operation"
|
|
"github.com/seaweedfs/seaweedfs/weed/pb"
|
|
@@ -113,22 +112,24 @@ func (c *commandFsVerify) collectVolumeIds() error {
|
|
func (c *commandFsVerify) collectVolumeIds() error {
|
|
topologyInfo, _, err := collectTopologyInfo(c.env, 0)
|
|
if err != nil {
|
|
return err
|
|
}
|
|
+ seen := make(map[pb.ServerAddress]bool)
|
|
eachDataNode(topologyInfo, func(dc DataCenterId, rack RackId, nodeInfo *master_pb.DataNodeInfo) {
|
|
for _, diskInfo := range nodeInfo.DiskInfos {
|
|
for _, vi := range diskInfo.VolumeInfos {
|
|
volumeServer := pb.NewServerAddressFromDataNode(nodeInfo)
|
|
c.volumeIds[vi.Id] = append(c.volumeIds[vi.Id], volumeServer)
|
|
- if !slices.Contains(c.volumeServers, volumeServer) {
|
|
+ if !seen[volumeServer] {
|
|
+ seen[volumeServer] = true
|
|
c.volumeServers = append(c.volumeServers, volumeServer)
|
|
}
|
|
}
|
|
for _, vi := range diskInfo.EcShardInfos {
|
|
volumeServer := pb.NewServerAddressFromDataNode(nodeInfo)
|
|
c.volumeIds[vi.Id] = append(c.volumeIds[vi.Id], volumeServer)
|
|
- if !slices.Contains(c.volumeServers, volumeServer) {
|
|
+ if !seen[volumeServer] {
|
|
+ seen[volumeServer] = true
|
|
c.volumeServers = append(c.volumeServers, volumeServer)
|
|
}
|
|
}
|
|
}
|
|
})
|
|
return nil
|
|
}
|