mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(objectnode): separate read and write buffers
with Signed-off-by: tangdeyi <tangdeyi@oppo.com>
This commit is contained in:
parent
54e2526793
commit
7ae6457821
@ -1559,8 +1559,8 @@ func (v *Volume) readEbs(inode, inodeSize uint64, path string, writer io.Writer,
|
||||
reader := v.getEbsReader(inode)
|
||||
var n int
|
||||
var rest uint64
|
||||
tmp := buf.ReadBufPool.Get().([]byte)
|
||||
defer buf.ReadBufPool.Put(tmp) // nolint: staticcheck
|
||||
tmp := buf.ClodVolReaderBufPool.Get().([]byte)
|
||||
defer buf.ClodVolReaderBufPool.Put(tmp)
|
||||
|
||||
for {
|
||||
if rest = upper - offset; rest <= 0 {
|
||||
|
||||
@ -207,11 +207,11 @@ func (writer *Writer) cacheLevel2(wSlice *rwSlice) {
|
||||
|
||||
func (writer *Writer) WriteFromReader(ctx context.Context, reader io.Reader, h hash.Hash) (size uint64, err error) {
|
||||
var (
|
||||
tmp = buf.ReadBufPool.Get().([]byte)
|
||||
tmp = buf.ClodVolWriteBufPool.Get().([]byte)
|
||||
exec = NewExecutor(writer.wConcurrency)
|
||||
leftToWrite int
|
||||
)
|
||||
defer buf.ReadBufPool.Put(tmp) // nolint: staticcheck
|
||||
defer buf.ClodVolWriteBufPool.Put(tmp)
|
||||
|
||||
writer.fileOffset = 0
|
||||
writer.err = make(chan *wSliceErr)
|
||||
|
||||
@ -15,12 +15,20 @@ const (
|
||||
MinBufferChanSize = 16
|
||||
)
|
||||
|
||||
var ReadBufPool = sync.Pool{
|
||||
New: func() interface{} {
|
||||
b := make([]byte, 32*1024)
|
||||
return b
|
||||
},
|
||||
}
|
||||
var (
|
||||
ClodVolWriteBufPool = sync.Pool{
|
||||
New: func() interface{} {
|
||||
b := make([]byte, 32*1024)
|
||||
return b
|
||||
},
|
||||
}
|
||||
ClodVolReaderBufPool = sync.Pool{
|
||||
New: func() interface{} {
|
||||
b := make([]byte, 1024*1024)
|
||||
return b
|
||||
},
|
||||
}
|
||||
)
|
||||
|
||||
const (
|
||||
BufferTypeHeader = 0
|
||||
|
||||
Loading…
Reference in New Issue
Block a user