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() diff --git a/weed/filesys/page_writer.go b/weed/filesys/page_writer.go index bdcbc0fbc..5c06bc44d 100644 --- a/weed/filesys/page_writer.go +++ b/weed/filesys/page_writer.go @@ -35,8 +35,6 @@ func newPageWriter(file *File, chunkSize int64) *PageWriter { func (pw *PageWriter) AddPage(offset int64, data []byte) { - pw.writerPattern.MonitorWriteAt(offset, len(data)) - glog.V(4).Infof("%v AddPage [%d, %d) streaming:%v", pw.f.fullpath(), offset, offset+int64(len(data)), pw.writerPattern.IsStreamingMode()) chunkIndex := offset / pw.chunkSize