summaryrefslogtreecommitdiffhomepage
path: root/pkg/sentry/fs/gofer
diff options
context:
space:
mode:
authorNicolas Lacasse <nlacasse@google.com>2019-01-14 20:33:29 -0800
committerShentubot <shentubot@google.com>2019-01-14 20:34:28 -0800
commitdc8450b5676d4c4ac9bcfa23cabd862e0060527d (patch)
treea4ef1ad59764f46f674b7003221ba8ae399b9e65 /pkg/sentry/fs/gofer
parent343ebe9789087b099ea7feae19879f5c24e59bf1 (diff)
Remove fs.Handle, ramfs.Entry, and all the DeprecatedFileOperations.
More helper structs have been added to the fsutil package to make it easier to implement fs.InodeOperations and fs.FileOperations. PiperOrigin-RevId: 229305982 Change-Id: Ib6f8d3862f4216745116857913dbfa351530223b
Diffstat (limited to 'pkg/sentry/fs/gofer')
-rw-r--r--pkg/sentry/fs/gofer/file.go2
-rw-r--r--pkg/sentry/fs/gofer/fs.go14
-rw-r--r--pkg/sentry/fs/gofer/inode.go1
3 files changed, 9 insertions, 8 deletions
diff --git a/pkg/sentry/fs/gofer/file.go b/pkg/sentry/fs/gofer/file.go
index 6d961813d..3578b07a0 100644
--- a/pkg/sentry/fs/gofer/file.go
+++ b/pkg/sentry/fs/gofer/file.go
@@ -37,7 +37,7 @@ var openedWX = metric.MustCreateNewUint64Metric("/gofer/opened_write_execute_fil
//
// +stateify savable
type fileOperations struct {
- fsutil.NoIoctl `state:"nosave"`
+ fsutil.FileNoIoctl `state:"nosave"`
waiter.AlwaysReady `state:"nosave"`
// inodeOperations is the inodeOperations backing the file. It is protected
diff --git a/pkg/sentry/fs/gofer/fs.go b/pkg/sentry/fs/gofer/fs.go
index ed30cb1f1..2dc000c6f 100644
--- a/pkg/sentry/fs/gofer/fs.go
+++ b/pkg/sentry/fs/gofer/fs.go
@@ -75,11 +75,11 @@ var (
// ErrNoTransport is returned when there is no 'trans' option.
ErrNoTransport = errors.New("missing required option: 'trans='")
- // ErrNoReadFD is returned when there is no 'rfdno' option.
- ErrNoReadFD = errors.New("missing required option: 'rfdno='")
+ // ErrFileNoReadFD is returned when there is no 'rfdno' option.
+ ErrFileNoReadFD = errors.New("missing required option: 'rfdno='")
- // ErrNoWriteFD is returned when there is no 'wfdno' option.
- ErrNoWriteFD = errors.New("missing required option: 'wfdno='")
+ // ErrFileNoWriteFD is returned when there is no 'wfdno' option.
+ ErrFileNoWriteFD = errors.New("missing required option: 'wfdno='")
)
// filesystem is a 9p client.
@@ -87,6 +87,8 @@ var (
// +stateify savable
type filesystem struct{}
+var _ fs.Filesystem = (*filesystem)(nil)
+
func init() {
fs.RegisterFilesystem(&filesystem{})
}
@@ -160,14 +162,14 @@ func options(data string) (opts, error) {
// Check for the required 'rfdno=' option.
srfd, ok := options[readFDKey]
if !ok {
- return o, ErrNoReadFD
+ return o, ErrFileNoReadFD
}
delete(options, readFDKey)
// Check for the required 'wfdno=' option.
swfd, ok := options[writeFDKey]
if !ok {
- return o, ErrNoWriteFD
+ return o, ErrFileNoWriteFD
}
delete(options, writeFDKey)
diff --git a/pkg/sentry/fs/gofer/inode.go b/pkg/sentry/fs/gofer/inode.go
index 7c6e5b025..f0dc99fd0 100644
--- a/pkg/sentry/fs/gofer/inode.go
+++ b/pkg/sentry/fs/gofer/inode.go
@@ -40,7 +40,6 @@ import (
type inodeOperations struct {
fsutil.InodeNotVirtual `state:"nosave"`
fsutil.InodeNoExtendedAttributes `state:"nosave"`
- fsutil.DeprecatedFileOperations `state:"nosave"`
// fileState implements fs.CachedFileObject. It exists
// to break a circular load dependency between inodeOperations