diff options
Diffstat (limited to 'internal')
| -rw-r--r-- | internal/fusefrontend/args.go | 2 | ||||
| -rw-r--r-- | internal/fusefrontend/node.go | 4 | 
2 files changed, 6 insertions, 0 deletions
| diff --git a/internal/fusefrontend/args.go b/internal/fusefrontend/args.go index f822650..5eb6bff 100644 --- a/internal/fusefrontend/args.go +++ b/internal/fusefrontend/args.go @@ -44,4 +44,6 @@ type Args struct {  	// which are a performance problem for writes. See  	// https://github.com/rfjakob/gocryptfs/issues/515 for details.  	Suid bool +	// Enable the FUSE kernel_cache option +	KernelCache bool  } diff --git a/internal/fusefrontend/node.go b/internal/fusefrontend/node.go index bc4eb3b..80d642c 100644 --- a/internal/fusefrontend/node.go +++ b/internal/fusefrontend/node.go @@ -190,6 +190,10 @@ func (n *Node) Open(ctx context.Context, flags uint32) (fh fs.FileHandle, fuseFl  	rn.openWriteOnlyLock.RLock()  	defer rn.openWriteOnlyLock.RUnlock() +	if rn.args.KernelCache { +		fuseFlags = fuse.FOPEN_KEEP_CACHE +	} +  	// Open backing file  	fd, err := syscallcompat.Openat(dirfd, cName, newFlags, 0)  	// Handle a few specific errors | 
