aboutsummaryrefslogtreecommitdiff
path: root/weed/storage/needle_read_write.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2017-01-08 11:01:46 -0800
committerChris Lu <chris.lu@gmail.com>2017-01-08 11:01:46 -0800
commited44f12f6db7f05aba8a76f1a0ff92356c43d4b0 (patch)
treee4c444173b30053d83b9a0b9ad9d8e2063f44c14 /weed/storage/needle_read_write.go
parent7b6837cbc2b2c27b6acdc2c41d88cd27d0823e60 (diff)
downloadseaweedfs-ed44f12f6db7f05aba8a76f1a0ff92356c43d4b0.tar.xz
seaweedfs-ed44f12f6db7f05aba8a76f1a0ff92356c43d4b0.zip
support Fallocate on linux
Diffstat (limited to 'weed/storage/needle_read_write.go')
-rw-r--r--weed/storage/needle_read_write.go9
1 files changed, 2 insertions, 7 deletions
diff --git a/weed/storage/needle_read_write.go b/weed/storage/needle_read_write.go
index ff43effb3..4f03ce396 100644
--- a/weed/storage/needle_read_write.go
+++ b/weed/storage/needle_read_write.go
@@ -146,18 +146,13 @@ func (n *Needle) Append(w io.Writer, version Version) (size uint32, actualSize i
util.Uint32toBytes(header[0:NeedleChecksumSize], n.Checksum.Value())
_, err = w.Write(header[0 : NeedleChecksumSize+padding])
- actualSize = NeedleHeaderSize + int64(n.Size) + NeedleChecksumSize + int64(padding)
-
- return n.DataSize, actualSize, err
+ return n.DataSize, getActualSize(n.Size), err
}
return 0, 0, fmt.Errorf("Unsupported Version! (%d)", version)
}
func ReadNeedleBlob(r *os.File, offset int64, size uint32) (dataSlice []byte, block *Block, err error) {
- NeedleWithoutPaddingSize := NeedleHeaderSize + size + NeedleChecksumSize
- padding := NeedlePaddingSize - (NeedleWithoutPaddingSize % NeedlePaddingSize)
- readSize := NeedleWithoutPaddingSize + padding
- return getBytesForFileBlock(r, offset, int(readSize))
+ return getBytesForFileBlock(r, offset, int(getActualSize(size)))
}
func (n *Needle) ReadData(r *os.File, offset int64, size uint32, version Version) (err error) {