diff options
Diffstat (limited to 'weed/storage/disk_location_ec.go')
| -rw-r--r-- | weed/storage/disk_location_ec.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/weed/storage/disk_location_ec.go b/weed/storage/disk_location_ec.go index 8315fe363..6d681d2c2 100644 --- a/weed/storage/disk_location_ec.go +++ b/weed/storage/disk_location_ec.go @@ -2,13 +2,14 @@ package storage import ( "fmt" - "golang.org/x/exp/slices" "os" "path" "regexp" "strconv" "strings" + "golang.org/x/exp/slices" + "github.com/seaweedfs/seaweedfs/weed/storage/erasure_coding" "github.com/seaweedfs/seaweedfs/weed/storage/needle" ) @@ -163,7 +164,15 @@ func (l *DiskLocation) loadAllEcShards() (err error) { continue } - if re.MatchString(ext) { + info, err := fileInfo.Info() + + if err != nil { + continue + } + + // 0 byte files should be only appearing erroneously for ec data files + // so we ignore them + if re.MatchString(ext) && info.Size() > 0 { if prevVolumeId == 0 || volumeId == prevVolumeId { sameVolumeShards = append(sameVolumeShards, fileInfo.Name()) } else { |
