| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- package mountinfo
- import (
- "os"
- )
- // 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)
- }
- // Mounted determines if a specified path is a mount point. In case of any
- // error, false (and an error) is returned.
- //
- // If a non-existent path is specified, an appropriate error is returned.
- // In case the caller is not interested in this particular error, it should
- // be handled separately using e.g. errors.Is(err, fs.ErrNotExist).
- func Mounted(path string) (bool, error) {
- // root is always mounted
- if path == string(os.PathSeparator) {
- return true, nil
- }
- return mounted(path)
- }
- // 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 is the ID of the parent mount (or of self for the root
- // of this mount namespace's mount tree).
- Parent int
- // Major and Minor are the major and the minor components of the Dev
- // field of unix.Stat_t structure returned by unix.*Stat calls for
- // files on this filesystem.
- Major, Minor int
- // Root is the pathname of the directory in the filesystem which forms
- // the root of this mount.
- Root string
- // Mountpoint is the pathname of the mount point relative to the
- // process's root directory.
- Mountpoint string
- // Options is a comma-separated list of mount options.
- Options string
- // Optional are zero or more fields of the form "tag[:value]",
- // separated by a space. Currently, the possible optional fields are
- // "shared", "master", "propagate_from", and "unbindable". For more
- // information, see mount_namespaces(7) Linux man page.
- Optional string
- // FSType is the filesystem type in the form "type[.subtype]".
- FSType string
- // Source is filesystem-specific information, or "none".
- Source string
- // VFSOptions is a comma-separated list of superblock options.
- VFSOptions string
- }
|