Browse Source

avoid reusing cached []byte

this logic is just to ensure 100% correct.

fuse message, data+message hearder > 512 will not be cached.
pull/1560/head
Chris Lu 4 years ago
parent
commit
71624858af
  1. 5
      weed/filesys/filehandle.go

5
weed/filesys/filehandle.go

@ -143,6 +143,11 @@ func (fh *FileHandle) Write(ctx context.Context, req *fuse.WriteRequest, resp *f
// write the request to volume servers
data := req.Data
if len(data) <= 512 {
// fuse message cacheable size
data = make([]byte, len(req.Data))
copy(data, req.Data)
}
fh.f.entry.Attributes.FileSize = uint64(max(req.Offset+int64(len(data)), int64(fh.f.entry.Attributes.FileSize)))
glog.V(4).Infof("%v write [%d,%d) %d", fh.f.fullpath(), req.Offset, req.Offset+int64(len(req.Data)), len(req.Data))

Loading…
Cancel
Save