diff options
| author | Chris Lu <chrislusf@users.noreply.github.com> | 2016-07-25 10:50:23 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-07-25 10:50:23 -0700 |
| commit | 761ef1c73ec2829d56acef1f12696e20722cdf44 (patch) | |
| tree | 801566226da8e0e5880b43644aae0f3124b3c8ac | |
| parent | 0ba3f47e31f7b5f6ed196a8cdd8f795d114d9241 (diff) | |
| parent | 52e55508da33db3632b9c2976aaec04b4b9fb4bb (diff) | |
| download | seaweedfs-761ef1c73ec2829d56acef1f12696e20722cdf44.tar.xz seaweedfs-761ef1c73ec2829d56acef1f12696e20722cdf44.zip | |
Merge pull request #347 from hxiaodon/master
deleted needle does not need checksum verification(patch)
| -rw-r--r-- | weed/storage/volume_checking.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/weed/storage/volume_checking.go b/weed/storage/volume_checking.go index 00ce0aab1..d424010f1 100644 --- a/weed/storage/volume_checking.go +++ b/weed/storage/volume_checking.go @@ -21,6 +21,10 @@ func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) error { return fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e) } key, offset, size := idxFileEntry(lastIdxEntry) + //deleted index entry could not point to deleted needle + if offset == 0 { + return nil + } if e = verifyNeedleIntegrity(v.dataFile, v.Version(), int64(offset)*NeedlePaddingSize, key, size); e != nil { return fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e) } |
