mount

package
v0.8.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Dec 4, 2020 License: MPL-2.0 Imports: 15 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 PrefixMountTargets added in v0.7.0

func PrefixMountTargets(mountpoints *Points, targetPrefix string) error

PrefixMountTargets prefixes all mountpoints targets with fixed path.

func SystemPartitionMount added in v0.7.0

func SystemPartitionMount(label string, opts ...Option) (err error)

SystemPartitionMount mounts a system partition by the label.

func SystemPartitionUnmount added in v0.7.0

func SystemPartitionUnmount(label string) (err error)

SystemPartitionUnmount unmounts a system partition by the label.

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.

func WithSkipIfMounted added in v0.7.0

func WithSkipIfMounted(o bool) Option

WithSkipIfMounted is a functional option for skipping mount if the mountpoint is already mounted.

type Options

type Options struct {
	Loopback      string
	Prefix        string
	ReadOnly      bool
	Shared        bool
	Resize        bool
	Overlay       bool
	SkipIfMounted 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, target, 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() (resized bool, 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 mountpoints 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) Len added in v0.7.0

func (p *Points) Len() int

Len returns number of mount points.

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