aboutsummaryrefslogtreecommitdiff
path: root/weed/mount/weedfs_file_read.go
diff options
context:
space:
mode:
Diffstat (limited to 'weed/mount/weedfs_file_read.go')
-rw-r--r--weed/mount/weedfs_file_read.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/weed/mount/weedfs_file_read.go b/weed/mount/weedfs_file_read.go
index 11ff07641..bf9c89071 100644
--- a/weed/mount/weedfs_file_read.go
+++ b/weed/mount/weedfs_file_read.go
@@ -3,6 +3,7 @@ package mount
import (
"bytes"
"fmt"
+ "github.com/seaweedfs/seaweedfs/weed/util"
"io"
"github.com/hanwen/go-fuse/v2/fuse"
@@ -41,8 +42,8 @@ func (wfs *WFS) Read(cancel <-chan struct{}, in *fuse.ReadIn, buff []byte) (fuse
return nil, fuse.ENOENT
}
- fh.RLock()
- defer fh.RUnlock()
+ fhActiveLock := fh.wfs.fhLockTable.AcquireLock("Read", fh.fh, util.SharedLock)
+ defer fh.wfs.fhLockTable.ReleaseLock(fh.fh, fhActiveLock)
offset := int64(in.Offset)
totalRead, err := readDataByFileHandle(buff, fh, offset)