aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/filehandle.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2021-12-28 01:10:35 -0800
committerchrislu <chris.lu@gmail.com>2021-12-28 01:10:35 -0800
commit242255645604e9974c01257f5d1177eba95fff42 (patch)
tree4855c68c53e6dbfdf89c6e3c1b7b4dc61f1c59f2 /weed/filesys/filehandle.go
parent80db8b13d8852a27fb7bb7c9869fa68192c8132d (diff)
downloadseaweedfs-242255645604e9974c01257f5d1177eba95fff42.tar.xz
seaweedfs-242255645604e9974c01257f5d1177eba95fff42.zip
monitor write pattern: avoid timing due to locking
Diffstat (limited to 'weed/filesys/filehandle.go')
-rw-r--r--weed/filesys/filehandle.go5
1 files changed, 3 insertions, 2 deletions
diff --git a/weed/filesys/filehandle.go b/weed/filesys/filehandle.go
index 607b901ff..64da38bcf 100644
--- a/weed/filesys/filehandle.go
+++ b/weed/filesys/filehandle.go
@@ -3,7 +3,6 @@ package filesys
import (
"context"
"fmt"
- "github.com/chrislusf/seaweedfs/weed/filesys/page_writer"
"io"
"math"
"net/http"
@@ -21,7 +20,7 @@ import (
type FileHandle struct {
// cache file has been written to
- dirtyPages page_writer.DirtyPages
+ dirtyPages *PageWriter
entryViewCache []filer.VisibleInterval
reader io.ReaderAt
contentType string
@@ -177,6 +176,8 @@ func (fh *FileHandle) Write(ctx context.Context, req *fuse.WriteRequest, resp *f
fh.Add(1)
defer fh.Done()
+ fh.dirtyPages.writerPattern.MonitorWriteAt(req.Offset, len(req.Data))
+
fh.Lock()
defer fh.Unlock()