diff options
Diffstat (limited to 'weed/mount/weedfs_file_copy_range.go')
| -rw-r--r-- | weed/mount/weedfs_file_copy_range.go | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/weed/mount/weedfs_file_copy_range.go b/weed/mount/weedfs_file_copy_range.go index 50a2d5a95..49bab17f3 100644 --- a/weed/mount/weedfs_file_copy_range.go +++ b/weed/mount/weedfs_file_copy_range.go @@ -1,7 +1,6 @@ package mount import ( - "github.com/seaweedfs/seaweedfs/weed/util" "net/http" "time" @@ -45,16 +44,16 @@ func (wfs *WFS) CopyFileRange(cancel <-chan struct{}, in *fuse.CopyFileRangeIn) } // lock source and target file handles - fhOutActiveLock := fhOut.wfs.fhLockTable.AcquireLock("CopyFileRange", fhOut.fh, util.ExclusiveLock) - defer fhOut.wfs.fhLockTable.ReleaseLock(fhOut.fh, fhOutActiveLock) + fhOut.Lock() + defer fhOut.Unlock() if fhOut.entry == nil { return 0, fuse.ENOENT } if fhIn.fh != fhOut.fh { - fhInActiveLock := fhIn.wfs.fhLockTable.AcquireLock("CopyFileRange", fhIn.fh, util.ExclusiveLock) - defer fhIn.wfs.fhLockTable.ReleaseLock(fhIn.fh, fhInActiveLock) + fhIn.RLock() + defer fhIn.RUnlock() } // directories are not supported |
