mount

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 27, 2020 License: MPL-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Mount added in v0.5.0

func Mount(mountpoints *Points) (err error)

Mount mounts the device(s).

func Move added in v0.5.0

func Move(mountpoints *Points, prefix string) (err error)

Move moves the device(s). TODO(andrewrynhard): We need to skip calling the move method on mountpoints that are a child of another mountpoint. The kernel will handle moving the child mountpoints for us.

func Unmount added in v0.5.0

func Unmount(mountpoints *Points) (err error)

Unmount unmounts the device(s).

Types

type Option

type Option func(*Options)

Option is the functional option func.

func WithOverlay added in v0.2.0

func WithOverlay(o bool) Option

WithOverlay indicates that a the partition for a given mount point should be mounted using overlayfs.

func WithPrefix

func WithPrefix(o string) Option

WithPrefix is a functional option for setting the mount point prefix.

func WithReadOnly

func WithReadOnly(o bool) Option

WithReadOnly is a functional option for setting the mount point as readonly.

func WithResize added in v0.2.0

func WithResize(o bool) Option

WithResize indicates that a the partition for a given mount point should be resized to the maximum allowed.

func WithShared

func WithShared(o bool) Option

WithShared is a functional option for setting the mount point as shared.

type Options

type Options struct {
	Loopback string
	Prefix   string
	ReadOnly bool
	Shared   bool
	Resize   bool
	Overlay  bool
}

Options is the functional options struct.

func NewDefaultOptions

func NewDefaultOptions(setters ...Option) *Options

NewDefaultOptions initializes a Options struct with default values.

type Point

type Point struct {
	*Options
	// contains filtered or unexported fields
}

Point represents a Linux mount point.

func NewMountPoint

func NewMountPoint(source string, target string, fstype string, flags uintptr, data string, setters ...Option) *Point

NewMountPoint initializes and returns a Point struct.

func SystemMountPointForLabel added in v0.5.0

func SystemMountPointForLabel(label string, opts ...Option) (mountpoint *Point, err error)

SystemMountPointForLabel returns a mount point for the specified device and label.

func (*Point) Data

func (p *Point) Data() string

Data returns the mount points data field.

func (*Point) Flags

func (p *Point) Flags() uintptr

Flags returns the mount points flags field.

func (*Point) Fstype

func (p *Point) Fstype() string

Fstype returns the mount points fstype field.

func (*Point) GrowFilesystem added in v0.2.0

func (p *Point) GrowFilesystem() (err error)

GrowFilesystem grows a partition's filesystem to the maximum size allowed. NB: An XFS partition MUST be mounted, or this will fail.

func (*Point) IsMounted added in v0.4.0

func (p *Point) IsMounted() (bool, error)

IsMounted checks whether mount point is active under /proc/mounts

func (*Point) Mount added in v0.2.0

func (p *Point) Mount() (err error)

Mount attempts to retry a mount on EBUSY. It will attempt a retry every 100 milliseconds over the course of 5 seconds.

func (*Point) Move added in v0.2.0

func (p *Point) Move(prefix string) (err error)

Move moves a mountpoint to a new location with a prefix.

func (*Point) ResizePartition added in v0.2.0

func (p *Point) ResizePartition() (err error)

ResizePartition resizes a partition to the maximum size allowed.

func (*Point) Source

func (p *Point) Source() string

Source returns the mount points source field.

func (*Point) Target

func (p *Point) Target() string

Target returns the mount points target field.

func (*Point) Unmount added in v0.2.0

func (p *Point) Unmount() (err error)

Unmount attempts to retry an unmount on EBUSY. It will attempt a retry every 100 milliseconds over the course of 5 seconds.

type PointMap

type PointMap = map[string]*Point

PointMap represents a unique set of mount points.

type Points

type Points struct {
	// contains filtered or unexported fields
}

Points represents an ordered set of mount points.

func BPFMountPoints added in v0.5.0

func BPFMountPoints() (mountpoints *Points, err error)

BPFMountPoints returns the bpf mount points.

func CGroupMountPoints added in v0.5.0

func CGroupMountPoints() (mountpoints *Points, err error)

CGroupMountPoints returns the cgroup mount points

func NewMountPoints

func NewMountPoints() *Points

NewMountPoints initializes and returns a Points struct.

func OverlayMountPoints added in v0.5.0

func OverlayMountPoints() (mountpoints *Points, err error)

OverlayMountPoints returns the mountpoints required to boot the system. These moiuntpoints are used as overlays on top of the read only rootfs.

func PseudoMountPoints added in v0.5.0

func PseudoMountPoints() (mountpoints *Points, err error)

PseudoMountPoints returns the mountpoints required to boot the system.

func PseudoSubMountPoints added in v0.5.0

func PseudoSubMountPoints() (mountpoints *Points, err error)

PseudoSubMountPoints returns the mountpoints required to boot the system.

func SquashfsMountPoints added in v0.5.0

func SquashfsMountPoints(prefix string) (mountpoints *Points, err error)

SquashfsMountPoints returns the mountpoints required to boot the system.

func SystemMountPointsForDevice added in v0.5.0

func SystemMountPointsForDevice(devpath string) (mountpoints *Points, err error)

SystemMountPointsForDevice returns the mountpoints required to boot the system. This function is called exclusively during installations ( both image creation and bare metall installs ). This is why we want to look up device by specified disk as well as why we don't want to grow any filesystems.

func (*Points) Get

func (p *Points) Get(key string) (value *Point, ok bool)

Get gets an ordered value.

func (*Points) Iter

func (p *Points) Iter() *PointsIterator

Iter initializes and returns a mount point iterator.

func (*Points) IterRev

func (p *Points) IterRev() *PointsIterator

IterRev initializes and returns a mount point iterator that advances in reverse.

func (*Points) Set

func (p *Points) Set(key string, value *Point)

Set sets an ordered value.

type PointsIterator

type PointsIterator struct {
	// contains filtered or unexported fields
}

PointsIterator represents an iteratable group of mount points.

func (*PointsIterator) Err

func (i *PointsIterator) Err() error

Err returns an error.

func (*PointsIterator) Key

func (i *PointsIterator) Key() string

Key returns the current key.

func (*PointsIterator) Next

func (i *PointsIterator) Next() bool

Next advances the iterator to the next value.

func (*PointsIterator) Value

func (i *PointsIterator) Value() *Point

Value returns current mount point.

type RetryFunc added in v0.2.0

type RetryFunc func(*Point) error

RetryFunc defines the requirements for retrying a mount point operation.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL