diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2020-09-07 09:49:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-09-07 09:49:56 -0400 |
commit | d83e94a5146f0d5d8da39bea5ab4d3e497473c6f (patch) | |
tree | 6054bb84d6f2cbd62621cd1b3ee52178b11d1825 /vendor/github.com/moby/sys/mountinfo/mountinfo.go | |
parent | 15375b549f5f86e773904ce4cf97fdcf1d5dcbb8 (diff) | |
parent | b62fa769f8f5ccc982a2566b4c4af0b7096298f3 (diff) | |
download | podman-d83e94a5146f0d5d8da39bea5ab4d3e497473c6f.tar.gz podman-d83e94a5146f0d5d8da39bea5ab4d3e497473c6f.tar.bz2 podman-d83e94a5146f0d5d8da39bea5ab4d3e497473c6f.zip |
Merge pull request #7539 from containers/dependabot/go_modules/github.com/containers/storage-1.23.4
Bump github.com/containers/storage from 1.23.2 to 1.23.4
Diffstat (limited to 'vendor/github.com/moby/sys/mountinfo/mountinfo.go')
-rw-r--r-- | vendor/github.com/moby/sys/mountinfo/mountinfo.go | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/vendor/github.com/moby/sys/mountinfo/mountinfo.go b/vendor/github.com/moby/sys/mountinfo/mountinfo.go new file mode 100644 index 000000000..136b14167 --- /dev/null +++ b/vendor/github.com/moby/sys/mountinfo/mountinfo.go @@ -0,0 +1,67 @@ +package mountinfo + +import "io" + +// GetMounts retrieves a list of mounts for the current running process, +// with an optional filter applied (use nil for no filter). +func GetMounts(f FilterFunc) ([]*Info, error) { + return parseMountTable(f) +} + +// GetMountsFromReader retrieves a list of mounts from the +// reader provided, with an optional filter applied (use nil +// for no filter). This can be useful in tests or benchmarks +// that provide a fake mountinfo data. +func GetMountsFromReader(reader io.Reader, f FilterFunc) ([]*Info, error) { + return parseInfoFile(reader, f) +} + +// Mounted determines if a specified mountpoint has been mounted. +// On Linux it looks at /proc/self/mountinfo. +func Mounted(mountpoint string) (bool, error) { + entries, err := GetMounts(SingleEntryFilter(mountpoint)) + if err != nil { + return false, err + } + + return len(entries) > 0, nil +} + +// Info reveals information about a particular mounted filesystem. This +// struct is populated from the content in the /proc/<pid>/mountinfo file. +type Info struct { + // ID is a unique identifier of the mount (may be reused after umount). + ID int + + // Parent indicates the ID of the mount parent (or of self for the top of the + // mount tree). + Parent int + + // Major indicates one half of the device ID which identifies the device class. + Major int + + // Minor indicates one half of the device ID which identifies a specific + // instance of device. + Minor int + + // Root of the mount within the filesystem. + Root string + + // Mountpoint indicates the mount point relative to the process's root. + Mountpoint string + + // Opts represents mount-specific options. + Opts string + + // Optional represents optional fields. + Optional string + + // Fstype indicates the type of filesystem, such as EXT3. + Fstype string + + // Source indicates filesystem specific information or "none". + Source string + + // VfsOpts represents per super block options. + VfsOpts string +} |