aboutsummaryrefslogtreecommitdiff
path: root/weed/filesys/wfs.go
diff options
context:
space:
mode:
authorChris Lu <chris.lu@gmail.com>2021-05-06 03:31:40 -0700
committerChris Lu <chris.lu@gmail.com>2021-05-06 03:31:40 -0700
commit38f411219a759709b53101d3ecd3ed05c36a6efa (patch)
tree3689968bdd7ad1a24fa0405c3423c4cf84e69a9d /weed/filesys/wfs.go
parentc899bdf0636488dc55c6788cc41ce2329f58a39f (diff)
downloadseaweedfs-38f411219a759709b53101d3ecd3ed05c36a6efa.tar.xz
seaweedfs-38f411219a759709b53101d3ecd3ed05c36a6efa.zip
mount: skip local chunk cache if opened write only
Diffstat (limited to 'weed/filesys/wfs.go')
-rw-r--r--weed/filesys/wfs.go6
1 files changed, 5 insertions, 1 deletions
diff --git a/weed/filesys/wfs.go b/weed/filesys/wfs.go
index 832925bc1..7757e4285 100644
--- a/weed/filesys/wfs.go
+++ b/weed/filesys/wfs.go
@@ -138,7 +138,7 @@ func (wfs *WFS) Root() (fs.Node, error) {
return wfs.root, nil
}
-func (wfs *WFS) AcquireHandle(file *File, uid, gid uint32) (fileHandle *FileHandle) {
+func (wfs *WFS) AcquireHandle(file *File, uid, gid uint32, writeOnly bool) (fileHandle *FileHandle) {
fullpath := file.fullpath()
glog.V(4).Infof("AcquireHandle %s uid=%d gid=%d", fullpath, uid, gid)
@@ -150,6 +150,9 @@ func (wfs *WFS) AcquireHandle(file *File, uid, gid uint32) (fileHandle *FileHand
wfs.handlesLock.Unlock()
if found && existingHandle != nil {
existingHandle.f.isOpen++
+ if existingHandle.writeOnly {
+ existingHandle.writeOnly = writeOnly
+ }
glog.V(4).Infof("Acquired Handle %s open %d", fullpath, existingHandle.f.isOpen)
return existingHandle
}
@@ -157,6 +160,7 @@ func (wfs *WFS) AcquireHandle(file *File, uid, gid uint32) (fileHandle *FileHand
entry, _ := file.maybeLoadEntry(context.Background())
file.entry = entry
fileHandle = newFileHandle(file, uid, gid)
+ fileHandle.writeOnly = writeOnly
file.isOpen++
wfs.handlesLock.Lock()