mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
minor optimization
This commit is contained in:
parent
70777d9b9f
commit
8c5759a06d
|
@ -107,7 +107,7 @@ func (v *Volume) readNeedleDataInto(n *needle.Needle, readOption *ReadOption, wr
|
||||||
readOption.IsOutOfRange = false
|
readOption.IsOutOfRange = false
|
||||||
err = n.ReadNeedleMeta(v.DataBackend, nv.Offset.ToActualOffset(), readSize, v.Version())
|
err = n.ReadNeedleMeta(v.DataBackend, nv.Offset.ToActualOffset(), readSize, v.Version())
|
||||||
}
|
}
|
||||||
buf := mem.Allocate(1024 * 1024)
|
buf := mem.Allocate(min(1024*1024, int(size)))
|
||||||
defer mem.Free(buf)
|
defer mem.Free(buf)
|
||||||
actualOffset := nv.Offset.ToActualOffset()
|
actualOffset := nv.Offset.ToActualOffset()
|
||||||
if readOption.IsOutOfRange {
|
if readOption.IsOutOfRange {
|
||||||
|
@ -117,6 +117,13 @@ func (v *Volume) readNeedleDataInto(n *needle.Needle, readOption *ReadOption, wr
|
||||||
return n.ReadNeedleDataInto(v.DataBackend, actualOffset, buf, writer, offset, size)
|
return n.ReadNeedleDataInto(v.DataBackend, actualOffset, buf, writer, offset, size)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func min(x, y int) int {
|
||||||
|
if x < y {
|
||||||
|
return x
|
||||||
|
}
|
||||||
|
return y
|
||||||
|
}
|
||||||
|
|
||||||
// read fills in Needle content by looking up n.Id from NeedleMapper
|
// read fills in Needle content by looking up n.Id from NeedleMapper
|
||||||
func (v *Volume) ReadNeedleBlob(offset int64, size Size) ([]byte, error) {
|
func (v *Volume) ReadNeedleBlob(offset int64, size Size) ([]byte, error) {
|
||||||
v.dataFileAccessLock.RLock()
|
v.dataFileAccessLock.RLock()
|
||||||
|
|
Loading…
Reference in a new issue