Merge pull request #347 from hxiaodon/master

deleted needle does not need checksum verification(patch)
This commit is contained in:
Chris Lu 2016-07-25 10:50:23 -07:00 committed by GitHub
commit 761ef1c73e

View file

@ -21,6 +21,10 @@ func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) error {
return fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e) return fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e)
} }
key, offset, size := idxFileEntry(lastIdxEntry) 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 { if e = verifyNeedleIntegrity(v.dataFile, v.Version(), int64(offset)*NeedlePaddingSize, key, size); e != nil {
return fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e) return fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e)
} }