aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/volume_checking.go
diff options
context:
space:
mode:
authorbrstgt <brstgt@googlemail.com>2017-01-20 16:37:45 +0100
committerbrstgt <brstgt@googlemail.com>2017-01-20 16:37:45 +0100
commit0656838fe57651f59fc511ce02206ad5736d4ca9 (patch)
treefa47ad7f8eace1f1d6b5bab39f074231834d1f5f /weed/storage/volume_checking.go
parent4fb5bb09b664a9c70ee2d2c0f8aa59538dd662a4 (diff)
downloadseaweedfs-0656838fe57651f59fc511ce02206ad5736d4ca9.tar.xz
seaweedfs-0656838fe57651f59fc511ce02206ad5736d4ca9.zip
Don't return actual file size from CheckVolumeDataIntegrity, it will be 0 if last needle is a tombstone, so it's not reliable anyway
Diffstat (limited to 'weed/storage/volume_checking.go')
-rw-r--r--weed/storage/volume_checking.go14
1 files changed, 7 insertions, 7 deletions
diff --git a/weed/storage/volume_checking.go b/weed/storage/volume_checking.go
index 6d4011f27..67538ebb2 100644
--- a/weed/storage/volume_checking.go
+++ b/weed/storage/volume_checking.go
@@ -12,28 +12,28 @@ func getActualSize(size uint32) int64 {
return NeedleHeaderSize + int64(size) + NeedleChecksumSize + int64(padding)
}
-func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) (int64, error) {
+func CheckVolumeDataIntegrity(v *Volume, indexFile *os.File) (error) {
var indexSize int64
var e error
if indexSize, e = verifyIndexFileIntegrity(indexFile); e != nil {
- return 0, fmt.Errorf("verifyIndexFileIntegrity %s failed: %v", indexFile.Name(), e)
+ return fmt.Errorf("verifyIndexFileIntegrity %s failed: %v", indexFile.Name(), e)
}
if indexSize == 0 {
- return int64(SuperBlockSize), nil
+ return nil
}
var lastIdxEntry []byte
if lastIdxEntry, e = readIndexEntryAtOffset(indexFile, indexSize-NeedleIndexSize); e != nil {
- return 0, fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e)
+ return fmt.Errorf("readLastIndexEntry %s failed: %v", indexFile.Name(), e)
}
key, offset, size := idxFileEntry(lastIdxEntry)
if offset == 0 || size == TombstoneFileSize {
- return 0, nil
+ return nil
}
if e = verifyNeedleIntegrity(v.dataFile, v.Version(), int64(offset)*NeedlePaddingSize, key, size); e != nil {
- return 0, fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e)
+ return fmt.Errorf("verifyNeedleIntegrity %s failed: %v", indexFile.Name(), e)
}
- return int64(offset)*int64(NeedlePaddingSize) + getActualSize(size), nil
+ return nil
}
func verifyIndexFileIntegrity(indexFile *os.File) (indexSize int64, err error) {