diff options
| author | Chris Lu <chris.lu@gmail.com> | 2017-01-08 11:01:46 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2017-01-08 11:01:46 -0800 |
| commit | ed44f12f6db7f05aba8a76f1a0ff92356c43d4b0 (patch) | |
| tree | e4c444173b30053d83b9a0b9ad9d8e2063f44c14 /weed/storage/needle_read_write.go | |
| parent | 7b6837cbc2b2c27b6acdc2c41d88cd27d0823e60 (diff) | |
| download | seaweedfs-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.go | 9 |
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) { |
