diff options
| author | wusong <75450248+wusongANKANG@users.noreply.github.com> | 2024-10-15 03:17:41 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-10-14 12:17:41 -0700 |
| commit | e12b9ab7460aa635e32190e9f61f37fdc7b794f6 (patch) | |
| tree | 250c168ad5df71bbc41ee5d27232f3526bce5e45 | |
| parent | cfbe45c7658350e2b8f636d093a2bbe2028f8521 (diff) | |
| download | seaweedfs-e12b9ab7460aa635e32190e9f61f37fdc7b794f6.tar.xz seaweedfs-e12b9ab7460aa635e32190e9f61f37fdc7b794f6.zip | |
fix: volume data integrity check (#6118)
Co-authored-by: wang wusong <wangwusong@virtaitech.com>
| -rw-r--r-- | weed/storage/volume_checking.go | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/weed/storage/volume_checking.go b/weed/storage/volume_checking.go index 9bd432f85..202fc58e0 100644 --- a/weed/storage/volume_checking.go +++ b/weed/storage/volume_checking.go @@ -2,10 +2,11 @@ package storage import ( "fmt" - "github.com/seaweedfs/seaweedfs/weed/storage/super_block" "io" "os" + "github.com/seaweedfs/seaweedfs/weed/storage/super_block" + "github.com/seaweedfs/seaweedfs/weed/glog" "github.com/seaweedfs/seaweedfs/weed/storage/backend" "github.com/seaweedfs/seaweedfs/weed/storage/idx" @@ -26,11 +27,11 @@ func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) (lastAppendAtNs uin for i := 1; i <= 10 && indexSize >= int64(i)*NeedleMapEntrySize; i++ { // check and fix last 10 entries lastAppendAtNs, err = doCheckAndFixVolumeData(v, indexFile, indexSize-int64(i)*NeedleMapEntrySize) - if err == io.EOF { - healthyIndexSize = indexSize - int64(i)*NeedleMapEntrySize - continue - } - if err != ErrorSizeMismatch { + if err != nil { + if err == io.EOF { + healthyIndexSize = indexSize - int64(i)*NeedleMapEntrySize + continue + } break } } |
