MCPcopy
hub / github.com/rclone/rclone / Symlink

Method Symlink

cmd/mount2/node.go:488–501  ·  view source on GitHub ↗

Symlink create symbolic link.

(ctx context.Context, target, name string, out *fuse.EntryOut)

Source from the content-addressed store, hash-verified

486
487// Symlink create symbolic link.
488func (n *Node) Symlink(ctx context.Context, target, name string, out *fuse.EntryOut) (node *fusefs.Inode, err syscall.Errno) {
489 defer log.Trace(n, "name=%v, target=%v", name, target)("node=%v, err=%v", &node, &err)
490 fullPath := path.Join(n.node.Path(), name)
491 vfsNode, serr := n.node.VFS().CreateSymlink(target, fullPath)
492 if serr != nil {
493 return nil, translateError(serr)
494 }
495
496 n.fsys.setEntryOut(vfsNode, out)
497 newNode := newNode(n.fsys, vfsNode)
498 newInode := n.NewInode(ctx, newNode, fusefs.StableAttr{Mode: out.Attr.Mode})
499
500 return newInode, 0
501}

Callers

nothing calls this directly

Implementers 2

Filevfs/file.go
Dirvfs/dir.go

Calls 8

TraceFunction · 0.92
newNodeFunction · 0.85
JoinMethod · 0.80
CreateSymlinkMethod · 0.80
setEntryOutMethod · 0.80
translateErrorFunction · 0.70
PathMethod · 0.65
VFSMethod · 0.65

Tested by

no test coverage detected