mirror of
https://github.com/cubefs/cubefs.git
synced 2026-08-02 02:00:56 +00:00
fix(object): buffer optimization when calculate md5sum
Signed-off-by: morphes1995 <morphes1995@gmail.com>
This commit is contained in:
parent
b0cd15e1c4
commit
4a96eeb26e
@ -82,7 +82,6 @@ func (t *TransitionMgr) migrate(e *proto.ScanDentry) (err error) {
|
||||
readSize int
|
||||
rest int
|
||||
buf = make([]byte, 2*util.BlockSize)
|
||||
hashBuf = make([]byte, 2*util.BlockSize)
|
||||
)
|
||||
|
||||
for {
|
||||
@ -112,8 +111,7 @@ func (t *TransitionMgr) migrate(e *proto.ScanDentry) (err error) {
|
||||
readOffset += readN
|
||||
writeOffset += writeN
|
||||
// copy to md5 buffer, and then write to md5
|
||||
copy(hashBuf, buf[:readN])
|
||||
md5Hash.Write(hashBuf[:readN])
|
||||
md5Hash.Write(buf[:readN])
|
||||
}
|
||||
if err == io.EOF {
|
||||
err = nil
|
||||
|
||||
@ -1379,11 +1379,11 @@ func (v *Volume) ebsWrite(inode uint64, reader io.Reader, h hash.Hash, storageCl
|
||||
func (v *Volume) streamWrite(inode uint64, reader io.Reader, h hash.Hash, storageClass uint32) (size uint64, err error) {
|
||||
var (
|
||||
buf = make([]byte, 2*util.BlockSize)
|
||||
teeReader = io.TeeReader(reader, h)
|
||||
readN, writeN, offset int
|
||||
hashBuf = make([]byte, 2*util.BlockSize)
|
||||
)
|
||||
for {
|
||||
readN, err = reader.Read(buf)
|
||||
readN, err = teeReader.Read(buf)
|
||||
if err != nil && err != io.EOF {
|
||||
return
|
||||
}
|
||||
@ -1411,10 +1411,6 @@ func (v *Volume) streamWrite(inode uint64, reader io.Reader, h hash.Hash, storag
|
||||
offset += writeN
|
||||
// copy to md5 buffer, and then write to md5
|
||||
size += uint64(writeN)
|
||||
copy(hashBuf, buf[:readN])
|
||||
if h != nil {
|
||||
h.Write(hashBuf[:readN])
|
||||
}
|
||||
}
|
||||
if err == io.EOF {
|
||||
err = nil
|
||||
@ -2826,7 +2822,6 @@ func (v *Volume) CopyFile(sv *Volume, sourcePath, targetPath, metaDirective stri
|
||||
readSize int
|
||||
rest int
|
||||
buf = make([]byte, 2*util.BlockSize)
|
||||
hashBuf = make([]byte, 2*util.BlockSize)
|
||||
)
|
||||
|
||||
var sctx context.Context
|
||||
@ -2872,9 +2867,7 @@ func (v *Volume) CopyFile(sv *Volume, sourcePath, targetPath, metaDirective stri
|
||||
}
|
||||
readOffset += readN
|
||||
writeOffset += writeN
|
||||
// copy to md5 buffer, and then write to md5
|
||||
copy(hashBuf, buf[:readN])
|
||||
md5Hash.Write(hashBuf[:readN])
|
||||
md5Hash.Write(buf[:readN])
|
||||
}
|
||||
if err == io.EOF {
|
||||
err = nil
|
||||
|
||||
Loading…
Reference in New Issue
Block a user