aboutsummaryrefslogtreecommitdiff
path: root/internal/fusefrontend/node.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2020-08-01 19:26:42 +0200
committerJakob Unterwurzacher2020-08-01 19:26:42 +0200
commit1867fdaef4b0b602e24c7a6bc070dd21c05526d8 (patch)
tree4ab30766ee0e6324a7e54fd476adaca5308a31e6 /internal/fusefrontend/node.go
parent8afbbc86d170c49bbbdd801f43cd77774bcde13e (diff)
v2api: move helpers from node.go to node_helpers.go
Diffstat (limited to 'internal/fusefrontend/node.go')
-rw-r--r--internal/fusefrontend/node.go52
1 files changed, 0 insertions, 52 deletions
diff --git a/internal/fusefrontend/node.go b/internal/fusefrontend/node.go
index 7505f92..fb38362 100644
--- a/internal/fusefrontend/node.go
+++ b/internal/fusefrontend/node.go
@@ -3,7 +3,6 @@ package fusefrontend
import (
"context"
"os"
- "path/filepath"
"syscall"
"golang.org/x/sys/unix"
@@ -22,40 +21,6 @@ type Node struct {
fs.Inode
}
-// Path returns the relative plaintext path of this node
-func (n *Node) Path() string {
- return n.Inode.Path(n.Root())
-}
-
-// rootNode returns the Root Node of the filesystem.
-func (n *Node) rootNode() *RootNode {
- return n.Root().Operations().(*RootNode)
-}
-
-// prepareAtSyscall returns a (dirfd, cName) pair that can be used
-// with the "___at" family of system calls (openat, fstatat, unlinkat...) to
-// access the backing encrypted directory.
-//
-// If you pass a `child` file name, the (dirfd, cName) pair will refer to
-// a child of this node.
-// If `child` is empty, the (dirfd, cName) pair refers to this node itself.
-func (n *Node) prepareAtSyscall(child string) (dirfd int, cName string, errno syscall.Errno) {
- p := n.Path()
- if child != "" {
- p = filepath.Join(p, child)
- }
- rn := n.rootNode()
- if rn.isFiltered(p) {
- errno = syscall.EPERM
- return
- }
- dirfd, cName, err := rn.openBackingDir(p)
- if err != nil {
- errno = fs.ToErrno(err)
- }
- return
-}
-
// Lookup - FUSE call for discovering a file.
func (n *Node) Lookup(ctx context.Context, name string, out *fuse.EntryOut) (ch *fs.Inode, errno syscall.Errno) {
dirfd, cName, errno := n.prepareAtSyscall(name)
@@ -113,23 +78,6 @@ func (n *Node) Getattr(ctx context.Context, f fs.FileHandle, out *fuse.AttrOut)
return 0
}
-// newChild attaches a new child inode to n.
-// The passed-in `st` will be modified to get a unique inode number.
-func (n *Node) newChild(ctx context.Context, st *syscall.Stat_t, out *fuse.EntryOut) *fs.Inode {
- // Get unique inode number
- rn := n.rootNode()
- rn.inoMap.TranslateStat(st)
- out.Attr.FromStat(st)
- // Create child node
- id := fs.StableAttr{
- Mode: uint32(st.Mode),
- Gen: 1,
- Ino: st.Ino,
- }
- node := &Node{}
- return n.NewInode(ctx, node, id)
-}
-
// Create - FUSE call. Creates a new file.
//
// Symlink-safe through the use of Openat().