aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/filehandle.go
diff options
context:
space:
mode:
authorchrislu <chris.lu@gmail.com>2022-01-17 13:53:30 -0800
committerchrislu <chris.lu@gmail.com>2022-01-17 13:53:30 -0800
commit0ba88596e8dd5da1425c2ac53c54a9c9428ecc63 (patch)
tree379be2ac049e58efb00c4bc978c630361a6ed4a1 /weed/filesys/filehandle.go
parent1734017ba13cb03f04f3028712e521f4a6b7f00c (diff)
downloadseaweedfs-0ba88596e8dd5da1425c2ac53c54a9c9428ecc63.tar.xz
seaweedfs-0ba88596e8dd5da1425c2ac53c54a9c9428ecc63.zip
invalidate filehandle entry view cache
Diffstat (limited to 'weed/filesys/filehandle.go')
-rw-r--r--weed/filesys/filehandle.go11
1 files changed, 6 insertions, 5 deletions
diff --git a/weed/filesys/filehandle.go b/weed/filesys/filehandle.go
index ef8f62938..8545be9b6 100644
--- a/weed/filesys/filehandle.go
+++ b/weed/filesys/filehandle.go
@@ -36,12 +36,12 @@ type FileHandle struct {
func newFileHandle(file *File, uid, gid uint32) *FileHandle {
fh := &FileHandle{
- f: file,
- // dirtyPages: newContinuousDirtyPages(file, writeOnly),
- dirtyPages: newPageWriter(file, file.wfs.option.ChunkSizeLimit),
- Uid: uid,
- Gid: gid,
+ f: file,
+ Uid: uid,
+ Gid: gid,
}
+ // dirtyPages: newContinuousDirtyPages(file, writeOnly),
+ fh.dirtyPages = newPageWriter(fh, file.wfs.option.ChunkSizeLimit)
entry := fh.f.getEntry()
if entry != nil {
entry.Attributes.FileSize = filer.FileSize(entry)
@@ -149,6 +149,7 @@ func (fh *FileHandle) readFromChunks(buff []byte, offset int64) (int64, error) {
reader := fh.reader
if reader == nil {
chunkViews := filer.ViewFromVisibleIntervals(fh.entryViewCache, 0, math.MaxInt64)
+ glog.V(4).Infof("file handle read %s [%d,%d) from %+v", fileFullPath, offset, offset+int64(len(buff)), chunkViews)
reader = filer.NewChunkReaderAtFromClient(fh.f.wfs.LookupFn(), chunkViews, fh.f.wfs.chunkCache, fileSize)
}
fh.reader = reader