Browse Source

avoid creating multiple reader

pull/1943/head
Chris Lu 4 years ago
parent
commit
3cbc40fa48
  1. 6
      weed/filesys/filehandle.go

6
weed/filesys/filehandle.go

@ -23,7 +23,7 @@ type FileHandle struct {
dirtyPages *ContinuousDirtyPages dirtyPages *ContinuousDirtyPages
contentType string contentType string
handle uint64 handle uint64
sync.RWMutex
sync.Mutex
f *File f *File
RequestId fuse.RequestID // unique ID for request RequestId fuse.RequestID // unique ID for request
@ -59,8 +59,8 @@ var _ = fs.HandleReleaser(&FileHandle{})
func (fh *FileHandle) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error { func (fh *FileHandle) Read(ctx context.Context, req *fuse.ReadRequest, resp *fuse.ReadResponse) error {
glog.V(4).Infof("%s read fh %d: [%d,%d) size %d resp.Data cap=%d", fh.f.fullpath(), fh.handle, req.Offset, req.Offset+int64(req.Size), req.Size, cap(resp.Data)) glog.V(4).Infof("%s read fh %d: [%d,%d) size %d resp.Data cap=%d", fh.f.fullpath(), fh.handle, req.Offset, req.Offset+int64(req.Size), req.Size, cap(resp.Data))
fh.RLock()
defer fh.RUnlock()
fh.Lock()
defer fh.Unlock()
if req.Size <= 0 { if req.Size <= 0 {
return nil return nil

Loading…
Cancel
Save