diff options
author | Craig Chi <craigchi@google.com> | 2020-08-20 10:40:41 -0700 |
---|---|---|
committer | Andrei Vagin <avagin@gmail.com> | 2020-09-16 12:19:30 -0700 |
commit | 983e30c01616b40348735f894d42bbad204f6b99 (patch) | |
tree | 3247a80663a3fb54f4a0662fee31a80eac947ce6 /pkg | |
parent | 21cac9dd042f3446258387378a743b8a7cd76443 (diff) |
Implementing inode.Getlink
kernfs uses inode.Getlink to resolve symlink when look up paths.
Updates #3452
Diffstat (limited to 'pkg')
-rw-r--r-- | pkg/sentry/fsimpl/fuse/fusefs.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/pkg/sentry/fsimpl/fuse/fusefs.go b/pkg/sentry/fsimpl/fuse/fusefs.go index c55ea927a..e1bbb4b52 100644 --- a/pkg/sentry/fsimpl/fuse/fusefs.go +++ b/pkg/sentry/fsimpl/fuse/fusefs.go @@ -488,6 +488,12 @@ func (i *inode) newEntry(ctx context.Context, name string, fileType linux.FileMo return child.VFSDentry(), nil } +// Getlink implements Inode.Getlink. +func (i *inode) Getlink(ctx context.Context, mnt *vfs.Mount) (vfs.VirtualDentry, string, error) { + path, err := i.Readlink(ctx, mnt) + return vfs.VirtualDentry{}, path, err +} + // Readlink implements kernfs.Inode.Readlink. func (i *inode) Readlink(ctx context.Context, mnt *vfs.Mount) (string, error) { if i.Mode().FileType()&linux.S_IFLNK == 0 { |