aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwusong <75450248+wusongANKANG@users.noreply.github.com>2024-10-15 03:17:41 +0800
committerGitHub <noreply@github.com>2024-10-14 12:17:41 -0700
commite12b9ab7460aa635e32190e9f61f37fdc7b794f6 (patch)
tree250c168ad5df71bbc41ee5d27232f3526bce5e45
parentcfbe45c7658350e2b8f636d093a2bbe2028f8521 (diff)
downloadseaweedfs-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.go13
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
}
}