aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--internal/fusefrontend/node.go11
1 files changed, 11 insertions, 0 deletions
diff --git a/internal/fusefrontend/node.go b/internal/fusefrontend/node.go
index 274123b..687a386 100644
--- a/internal/fusefrontend/node.go
+++ b/internal/fusefrontend/node.go
@@ -99,6 +99,17 @@ func (n *Node) Getattr(ctx context.Context, f fs.FileHandle, out *fuse.AttrOut)
return 0
}
+func (n *Node) Access(ctx context.Context, mode uint32) syscall.Errno {
+ dirfd, cName, errno := n.prepareAtSyscallMyself()
+ if errno != 0 {
+ return errno
+ }
+ defer syscall.Close(dirfd)
+
+ err := syscallcompat.Faccessat(dirfd, cName, mode)
+ return fs.ToErrno(err)
+}
+
// Unlink - FUSE call. Delete a file.
//
// Symlink-safe through use of Unlinkat().