aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author霍晓栋 <huoxd@jiedaibao.com>2016-07-25 11:40:35 +0800
committer霍晓栋 <huoxd@jiedaibao.com>2016-07-25 11:40:35 +0800
commit78678f4bcb7aa6b18cd364f86135b54e2d633f24 (patch)
treeb1e98cb29cc6011947e6876110cf904d47685c78
parent185a916f5eae022b89cc310d895fd93cac2fa3eb (diff)
downloadseaweedfs-78678f4bcb7aa6b18cd364f86135b54e2d633f24.tar.xz
seaweedfs-78678f4bcb7aa6b18cd364f86135b54e2d633f24.zip
deleted needle does not need checksum verification
-rw-r--r--weed/storage/needle_read_write.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/weed/storage/needle_read_write.go b/weed/storage/needle_read_write.go
index 2f26147d6..3ac236951 100644
--- a/weed/storage/needle_read_write.go
+++ b/weed/storage/needle_read_write.go
@@ -158,6 +158,9 @@ func (n *Needle) ReadData(r *os.File, offset int64, size uint32, version Version
case Version2:
n.readNeedleDataVersion2(bytes[NeedleHeaderSize : NeedleHeaderSize+int(n.Size)])
}
+ if size == 0 {
+ return nil
+ }
checksum := util.BytesToUint32(bytes[NeedleHeaderSize+size : NeedleHeaderSize+size+NeedleChecksumSize])
newChecksum := NewCRC(n.Data)
if checksum != newChecksum.Value() {