[mount]Fix copy file range (#4407)

* fix:mount deadlock

* fix

---------

Co-authored-by: zemul <zhouzemiao@ihuman.com>
This commit is contained in:
zemul 2023-04-24 13:34:38 +08:00 committed by GitHub
parent e1b92bc701
commit 68f1cc34a5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -46,18 +46,14 @@ func (wfs *WFS) CopyFileRange(cancel <-chan struct{}, in *fuse.CopyFileRangeIn)
// lock source and target file handles
fhOut.Lock()
defer fhOut.Unlock()
fhOut.entryLock.Lock()
defer fhOut.entryLock.Unlock()
if fhOut.entry == nil {
return 0, fuse.ENOENT
}
if fhIn.fh != fhOut.fh {
fhIn.Lock()
defer fhIn.Unlock()
fhIn.entryLock.Lock()
defer fhIn.entryLock.Unlock()
fhIn.RLock()
defer fhIn.RUnlock()
}
// directories are not supported