v2api: Node: make Path() public
Helpful for fsck.
This commit is contained in:
parent
7eae35e2d3
commit
6b7ff09373
@ -22,9 +22,9 @@ type Node struct {
|
||||
fs.Inode
|
||||
}
|
||||
|
||||
// path returns the relative plaintext path of this node
|
||||
func (n *Node) path() string {
|
||||
return n.Path(n.Root())
|
||||
// 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.
|
||||
@ -40,7 +40,7 @@ func (n *Node) rootNode() *RootNode {
|
||||
// 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()
|
||||
p := n.Path()
|
||||
if child != "" {
|
||||
p = filepath.Join(p, child)
|
||||
}
|
||||
|
@ -55,7 +55,7 @@ func (n *Node) mkdirWithIv(dirfd int, cName string, mode uint32, caller *fuse.Ca
|
||||
// Symlink-safe through use of Mkdirat().
|
||||
func (n *Node) Mkdir(ctx context.Context, name string, mode uint32, out *fuse.EntryOut) (*fs.Inode, syscall.Errno) {
|
||||
rn := n.rootNode()
|
||||
newPath := filepath.Join(n.path(), name)
|
||||
newPath := filepath.Join(n.Path(), name)
|
||||
if rn.isFiltered(newPath) {
|
||||
return nil, syscall.EPERM
|
||||
}
|
||||
@ -147,7 +147,7 @@ func (n *Node) Mkdir(ctx context.Context, name string, mode uint32, out *fuse.En
|
||||
// ReadDirIVAt().
|
||||
func (n *Node) Readdir(ctx context.Context) (fs.DirStream, syscall.Errno) {
|
||||
rn := n.rootNode()
|
||||
p := n.path()
|
||||
p := n.Path()
|
||||
dirName := filepath.Base(p)
|
||||
parentDirFd, cDirName, err := rn.openBackingDir(p)
|
||||
if err != nil {
|
||||
@ -232,7 +232,7 @@ func (n *Node) Readdir(ctx context.Context) (fs.DirStream, syscall.Errno) {
|
||||
// Symlink-safe through Unlinkat() + AT_REMOVEDIR.
|
||||
func (n *Node) Rmdir(ctx context.Context, name string) (code syscall.Errno) {
|
||||
rn := n.rootNode()
|
||||
p := filepath.Join(n.path(), name)
|
||||
p := filepath.Join(n.Path(), name)
|
||||
parentDirFd, cName, err := rn.openBackingDir(p)
|
||||
if err != nil {
|
||||
return fs.ToErrno(err)
|
||||
|
Loading…
x
Reference in New Issue
Block a user