mount

package
v1.7.24 Latest Latest
Warning

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

Go to latest
Published: Nov 21, 2024 License: Apache-2.0 Imports: 18 Imported by: 3,926

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func All

func All(mounts []Mount, target string) error

All mounts all the provided mounts to the provided target. If submounts are present, it assumes that parent mounts come before child mounts.

func AttachLoopDevice added in v1.5.0

func AttachLoopDevice(backingFile string) (string, error)

AttachLoopDevice attaches a specified backing file to a loop device

func CleanupTempMounts added in v1.1.0

func CleanupTempMounts(flags int) (warnings []error, err error)

CleanupTempMounts all temp mounts and remove the directories

func DetachLoopDevice added in v1.5.0

func DetachLoopDevice(devices ...string) error

DetachLoopDevice detaches the provided loop devices

func SetTempMountLocation added in v1.1.0

func SetTempMountLocation(root string) error

SetTempMountLocation sets the temporary mount location

func Unmount

func Unmount(target string, flags int) error

Unmount the provided mount path with the flags

func UnmountAll

func UnmountAll(mount string, flags int) error

UnmountAll repeatedly unmounts the given mount point until there are no mounts remaining (EINVAL is returned by mount), which is useful for undoing a stack of mounts on the same mount point. UnmountAll all is noop when the first argument is an empty string. This is done when the containerd client did not specify any rootfs mounts (e.g. because the rootfs is managed outside containerd) UnmountAll is noop when the mount path does not exist.

func UnmountMounts added in v1.7.0

func UnmountMounts(mounts []Mount, target string, flags int) error

UnmountMounts unmounts all the mounts under a target in the reverse order of the mounts array provided.

func UnmountRecursive added in v1.7.0

func UnmountRecursive(target string, flags int) error

UnmountRecursive unmounts the target and all mounts underneath, starting with the deepest mount first.

func WithReadonlyTempMount added in v1.6.20

func WithReadonlyTempMount(ctx context.Context, mounts []Mount, f func(root string) error) (err error)

WithReadonlyTempMount mounts the provided mounts to a temp dir as readonly, and pass the temp dir to f. The mounts are valid during the call to the f. Finally we will unmount and remove the temp dir regardless of the result of f.

func WithTempMount added in v1.1.0

func WithTempMount(ctx context.Context, mounts []Mount, f func(root string) error) (err error)

WithTempMount mounts the provided mounts to a temp dir, and pass the temp dir to f. The mounts are valid during the call to the f. Finally we will unmount and remove the temp dir regardless of the result of f.

NOTE: The volatile option of overlayfs doesn't allow to mount again using the same upper / work dirs. Since it's a temp mount, avoid using that option here if found.

Types

type Info

type Info = mountinfo.Info

Info reveals information about a particular mounted filesystem. This struct is populated from the content in the /proc/<pid>/mountinfo file.

func Lookup

func Lookup(dir string) (Info, error)

Lookup returns the mount info corresponds to the path.

type LoopParams added in v1.5.0

type LoopParams struct {
	// Loop device should forbid write
	Readonly bool
	// Loop device is automatically cleared by kernel when the
	// last opener closes it
	Autoclear bool
	// Use direct IO to access the loop backing file
	Direct bool
}

LoopParams parameters to control loop device setup

type Mount

type Mount struct {
	// Type specifies the host-specific of the mount.
	Type string
	// Source specifies where to mount from. Depending on the host system, this
	// can be a source path or device.
	Source string
	// Target specifies an optional subdirectory as a mountpoint. It assumes that
	// the subdirectory exists in a parent mount.
	Target string
	// Options contains zero or more fstab-style mount options. Typically,
	// these are platform specific.
	Options []string
}

Mount is the lingua franca of containerd. A mount represents a serialized mount syscall. Components either emit or consume mounts.

func RemoveVolatileOption added in v1.6.34

func RemoveVolatileOption(mounts []Mount) []Mount

RemoveVolatileOption copies and remove the volatile option for overlay type, since overlayfs doesn't allow to mount again using the same upper/work dirs.

REF: https://docs.kernel.org/filesystems/overlayfs.html#volatile-mount

TODO: Make this logic conditional once the kernel supports reusing overlayfs volatile mounts.

func (*Mount) Mount

func (m *Mount) Mount(target string) error

Mount to the provided target path.

func (*Mount) ReadOnly added in v1.7.2

func (m *Mount) ReadOnly() bool

ReadOnly returns a boolean value indicating whether this mount has the "ro" option set.

Jump to

Keyboard shortcuts

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