aboutsummaryrefslogtreecommitdiff
path: root/internal/fusefrontend/node_prepare_syscall.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/fusefrontend/node_prepare_syscall.go')
-rw-r--r--internal/fusefrontend/node_prepare_syscall.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/internal/fusefrontend/node_prepare_syscall.go b/internal/fusefrontend/node_prepare_syscall.go
index fa558e8..283096f 100644
--- a/internal/fusefrontend/node_prepare_syscall.go
+++ b/internal/fusefrontend/node_prepare_syscall.go
@@ -98,11 +98,12 @@ func (n *Node) prepareAtSyscallMyself() (dirfd int, cName string, errno syscall.
if n.IsRoot() {
var err error
rn := n.rootNode()
- dirfd, cName, err = rn.openBackingDir("")
+ // Open cipherdir (following symlinks)
+ dirfd, err = syscallcompat.Open(rn.args.Cipherdir, syscall.O_DIRECTORY|syscallcompat.O_PATH, 0)
if err != nil {
- errno = fs.ToErrno(err)
+ return -1, "", fs.ToErrno(err)
}
- return
+ return dirfd, ".", 0
}
// Otherwise convert to prepareAtSyscall of parent node