summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNicolas Lacasse <nlacasse@google.com>2019-05-08 14:34:01 -0700
committerShentubot <shentubot@google.com>2019-05-08 14:35:06 -0700
commitbfd9f75ba4390de824d2c3d44c15bdca9dd0ff35 (patch)
tree8f5b2aca671216bb586e6d6bf2f463dc954a4746
parentcbf6ab96970f29694ee4732f10c0515105b68449 (diff)
Set the FilesytemType in MountSource from the Filesystem.
And stop storing the Filesystem in the MountSource. This allows us to decouple the MountSource filesystem type from the name of the filesystem. PiperOrigin-RevId: 247292982 Change-Id: I49cbcce3c17883b7aa918ba76203dfd6d1b03cc8
-rw-r--r--pkg/sentry/fs/mount.go11
-rw-r--r--pkg/sentry/fs/proc/mounts.go12
-rw-r--r--pkg/tcpip/link/muxed/BUILD4
-rw-r--r--pkg/tcpip/transport/raw/BUILD4
-rw-r--r--runsc/BUILD4
5 files changed, 18 insertions, 17 deletions
diff --git a/pkg/sentry/fs/mount.go b/pkg/sentry/fs/mount.go
index a169ea4c9..9740f1fc6 100644
--- a/pkg/sentry/fs/mount.go
+++ b/pkg/sentry/fs/mount.go
@@ -110,9 +110,8 @@ type MountSource struct {
// MountSourceOperations defines filesystem specific behavior.
MountSourceOperations
- // Filesystem is the filesystem backing the mount. Can be nil if there
- // is no filesystem backing the mount.
- Filesystem Filesystem
+ // FilesystemType is the type of the filesystem backing this mount.
+ FilesystemType string
// Flags are the flags that this filesystem was mounted with.
Flags MountSourceFlags
@@ -158,10 +157,14 @@ const DefaultDirentCacheSize uint64 = 1000
// NewMountSource returns a new MountSource. Filesystem may be nil if there is no
// filesystem backing the mount.
func NewMountSource(mops MountSourceOperations, filesystem Filesystem, flags MountSourceFlags) *MountSource {
+ fsType := "none"
+ if filesystem != nil {
+ fsType = filesystem.Name()
+ }
return &MountSource{
MountSourceOperations: mops,
Flags: flags,
- Filesystem: filesystem,
+ FilesystemType: fsType,
fscache: NewDirentCache(DefaultDirentCacheSize),
children: make(map[*MountSource]struct{}),
}
diff --git a/pkg/sentry/fs/proc/mounts.go b/pkg/sentry/fs/proc/mounts.go
index 37ed30724..b5e01301f 100644
--- a/pkg/sentry/fs/proc/mounts.go
+++ b/pkg/sentry/fs/proc/mounts.go
@@ -139,11 +139,7 @@ func (mif *mountInfoFile) ReadSeqFileData(ctx context.Context, handle seqfile.Se
fmt.Fprintf(&buf, "- ")
// (9) Filesystem type.
- name := "none"
- if m.Filesystem != nil {
- name = m.Filesystem.Name()
- }
- fmt.Fprintf(&buf, "%s ", name)
+ fmt.Fprintf(&buf, "%s ", m.FilesystemType)
// (10) Mount source: filesystem-specific information or "none".
fmt.Fprintf(&buf, "none ")
@@ -190,11 +186,7 @@ func (mf *mountsFile) ReadSeqFileData(ctx context.Context, handle seqfile.SeqHan
if m.Flags.ReadOnly {
opts = "ro"
}
- name := "none"
- if m.Filesystem != nil {
- name = m.Filesystem.Name()
- }
- fmt.Fprintf(&buf, "%s %s %s %s %d %d\n", "none", mountPath, name, opts, 0, 0)
+ fmt.Fprintf(&buf, "%s %s %s %s %d %d\n", "none", mountPath, m.FilesystemType, opts, 0, 0)
})
return []seqfile.SeqData{{Buf: buf.Bytes(), Handle: (*mountsFile)(nil)}}, 0
diff --git a/pkg/tcpip/link/muxed/BUILD b/pkg/tcpip/link/muxed/BUILD
index f991dca83..84cfae784 100644
--- a/pkg/tcpip/link/muxed/BUILD
+++ b/pkg/tcpip/link/muxed/BUILD
@@ -1,6 +1,8 @@
load("//tools/go_stateify:defs.bzl", "go_library", "go_test")
-package(licenses = ["notice"]) # Apache 2.0
+package(
+ licenses = ["notice"], # Apache 2.0
+)
go_library(
name = "muxed",
diff --git a/pkg/tcpip/transport/raw/BUILD b/pkg/tcpip/transport/raw/BUILD
index 52f6b9759..6d3f0130e 100644
--- a/pkg/tcpip/transport/raw/BUILD
+++ b/pkg/tcpip/transport/raw/BUILD
@@ -1,4 +1,6 @@
-package(licenses = ["notice"]) # Apache 2.0
+package(
+ licenses = ["notice"], # Apache 2.0
+)
load("//tools/go_generics:defs.bzl", "go_template_instance")
load("//tools/go_stateify:defs.bzl", "go_library")
diff --git a/runsc/BUILD b/runsc/BUILD
index 4d2046ed3..af8e928c5 100644
--- a/runsc/BUILD
+++ b/runsc/BUILD
@@ -1,4 +1,6 @@
-package(licenses = ["notice"]) # Apache 2.0
+package(
+ licenses = ["notice"], # Apache 2.0
+)
load("@io_bazel_rules_go//go:def.bzl", "go_binary")
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_deb", "pkg_tar")