package mountinfo
import "github.com/moby/sys/mountinfo"
Index ¶
- func Mounted(mountpoint string) (bool, error)
- type FilterFunc
- func FstypeFilter(fstype ...string) FilterFunc
- func ParentsFilter(path string) FilterFunc
- func PrefixFilter(prefix string) FilterFunc
- func SingleEntryFilter(mp string) FilterFunc
- type Info
Functions ¶
func Mounted ¶
Mounted determines if a specified mountpoint has been mounted. On Linux it looks at /proc/self/mountinfo.
Types ¶
type FilterFunc ¶
FilterFunc is a type defining a callback function for GetMount(), used to filter out mountinfo entries we're not interested in, and/or stop further processing if we found what we wanted.
It takes a pointer to the Info struct (not fully populated, currently only Mountpoint, Fstype, Source, and (on Linux) VfsOpts are filled in), and returns two booleans:
- skip: true if the entry should be skipped
- stop: true if parsing should be stopped after the entry
func FstypeFilter ¶
func FstypeFilter(fstype ...string) FilterFunc
FstypeFilter returns all entries that match provided fstype(s).
func ParentsFilter ¶
func ParentsFilter(path string) FilterFunc
ParentsFilter returns all entries whose mount points can be parents of a path specified, discarding others.
For example, given `/var/lib/docker/something`, entries like `/var/lib/docker`, `/var` and `/` are returned.
func PrefixFilter ¶
func PrefixFilter(prefix string) FilterFunc
PrefixFilter discards all entries whose mount points do not start with a specific prefix
func SingleEntryFilter ¶
func SingleEntryFilter(mp string) FilterFunc
SingleEntryFilter looks for a specific entry
type Info ¶
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
}
Info reveals information about a particular mounted filesystem. This struct is populated from the content in the /proc/<pid>/mountinfo file.
func GetMounts ¶
func GetMounts(f FilterFunc) ([]*Info, error)
GetMounts retrieves a list of mounts for the current running process, with an optional filter applied (use nil for no filter).
func GetMountsFromReader ¶
func GetMountsFromReader(reader io.Reader, f FilterFunc) ([]*Info, error)
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.
Source Files ¶
mountinfo.go mountinfo_filters.go mountinfo_unsupported.go
- Version
- v0.1.3
- Published
- Mar 20, 2020
- Platform
- js/wasm
- Imports
- 4 packages
- Last checked
- 4 hours ago –
Tools for package owners.