diff options
Diffstat (limited to 'src/kube2msb/vendor/github.com/prometheus/procfs/fs.go')
-rw-r--r-- | src/kube2msb/vendor/github.com/prometheus/procfs/fs.go | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/kube2msb/vendor/github.com/prometheus/procfs/fs.go b/src/kube2msb/vendor/github.com/prometheus/procfs/fs.go new file mode 100644 index 0000000..838474a --- /dev/null +++ b/src/kube2msb/vendor/github.com/prometheus/procfs/fs.go @@ -0,0 +1,36 @@ +package procfs + +import ( + "fmt" + "os" + "path" +) + +// FS represents the pseudo-filesystem proc, which provides an interface to +// kernel data structures. +type FS string + +// DefaultMountPoint is the common mount point of the proc filesystem. +const DefaultMountPoint = "/proc" + +// NewFS returns a new FS mounted under the given mountPoint. It will error +// if the mount point can't be read. +func NewFS(mountPoint string) (FS, error) { + info, err := os.Stat(mountPoint) + if err != nil { + return "", fmt.Errorf("could not read %s: %s", mountPoint, err) + } + if !info.IsDir() { + return "", fmt.Errorf("mount point %s is not a directory", mountPoint) + } + + return FS(mountPoint), nil +} + +func (fs FS) stat(p string) (os.FileInfo, error) { + return os.Stat(path.Join(string(fs), p)) +} + +func (fs FS) open(p string) (*os.File, error) { + return os.Open(path.Join(string(fs), p)) +} |