mount

package module
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2024 License: Apache-2.0 Imports: 6 Imported by: 1,150

Documentation

Overview

Package mount provides a set of functions to mount and unmount mounts.

Currently it supports Linux. For historical reasons, there is also some support for FreeBSD.

Index

Constants

View Source
const (
	// RDONLY will mount the file system read-only.
	RDONLY = unix.MS_RDONLY

	// NOSUID will not allow set-user-identifier or set-group-identifier bits to
	// take effect.
	NOSUID = unix.MS_NOSUID

	// NODEV will not interpret character or block special devices on the file
	// system.
	NODEV = unix.MS_NODEV

	// NOEXEC will not allow execution of any binaries on the mounted file system.
	NOEXEC = unix.MS_NOEXEC

	// SYNCHRONOUS will allow I/O to the file system to be done synchronously.
	SYNCHRONOUS = unix.MS_SYNCHRONOUS

	// DIRSYNC will force all directory updates within the file system to be done
	// synchronously. This affects the following system calls: create, link,
	// unlink, symlink, mkdir, rmdir, mknod and rename.
	DIRSYNC = unix.MS_DIRSYNC

	// REMOUNT will attempt to remount an already-mounted file system. This is
	// commonly used to change the mount flags for a file system, especially to
	// make a readonly file system writeable. It does not change device or mount
	// point.
	REMOUNT = unix.MS_REMOUNT

	// MANDLOCK will force mandatory locks on a filesystem.
	MANDLOCK = unix.MS_MANDLOCK

	// NOATIME will not update the file access time when reading from a file.
	NOATIME = unix.MS_NOATIME

	// NODIRATIME will not update the directory access time.
	NODIRATIME = unix.MS_NODIRATIME

	// BIND remounts a subtree somewhere else.
	BIND = unix.MS_BIND

	// RBIND remounts a subtree and all possible submounts somewhere else.
	RBIND = unix.MS_BIND | unix.MS_REC

	// UNBINDABLE creates a mount which cannot be cloned through a bind operation.
	UNBINDABLE = unix.MS_UNBINDABLE

	// RUNBINDABLE marks the entire mount tree as UNBINDABLE.
	RUNBINDABLE = unix.MS_UNBINDABLE | unix.MS_REC

	// PRIVATE creates a mount which carries no propagation abilities.
	PRIVATE = unix.MS_PRIVATE

	// RPRIVATE marks the entire mount tree as PRIVATE.
	RPRIVATE = unix.MS_PRIVATE | unix.MS_REC

	// SLAVE creates a mount which receives propagation from its master, but not
	// vice versa.
	SLAVE = unix.MS_SLAVE

	// RSLAVE marks the entire mount tree as SLAVE.
	RSLAVE = unix.MS_SLAVE | unix.MS_REC

	// SHARED creates a mount which provides the ability to create mirrors of
	// that mount such that mounts and unmounts within any of the mirrors
	// propagate to the other mirrors.
	SHARED = unix.MS_SHARED

	// RSHARED marks the entire mount tree as SHARED.
	RSHARED = unix.MS_SHARED | unix.MS_REC

	// RELATIME updates inode access times relative to modify or change time.
	RELATIME = unix.MS_RELATIME

	// STRICTATIME allows to explicitly request full atime updates.  This makes
	// it possible for the kernel to default to relatime or noatime but still
	// allow userspace to override it.
	STRICTATIME = unix.MS_STRICTATIME
)

Variables

This section is empty.

Functions

func MakeMount

func MakeMount(mnt string) error

MakeMount ensures that the file or directory given is a mount point, bind mounting it to itself it case it is not.

func MakePrivate

func MakePrivate(mountPoint string) error

MakePrivate ensures a mounted filesystem has the PRIVATE mount option enabled. See the supported options in flags.go for further reference.

func MakeRPrivate

func MakeRPrivate(mountPoint string) error

MakeRPrivate ensures a mounted filesystem has the RPRIVATE mount option enabled. See the supported options in flags.go for further reference.

func MakeRShared

func MakeRShared(mountPoint string) error

MakeRShared ensures a mounted filesystem has the RSHARED mount option enabled. See the supported options in flags.go for further reference.

func MakeRSlave

func MakeRSlave(mountPoint string) error

MakeRSlave ensures a mounted filesystem has the RSLAVE mount option enabled. See the supported options in flags.go for further reference.

func MakeRUnbindable

func MakeRUnbindable(mountPoint string) error

MakeRUnbindable ensures a mounted filesystem has the RUNBINDABLE mount option enabled. See the supported options in flags.go for further reference.

func MakeShared

func MakeShared(mountPoint string) error

MakeShared ensures a mounted filesystem has the SHARED mount option enabled. See the supported options in flags.go for further reference.

func MakeSlave

func MakeSlave(mountPoint string) error

MakeSlave ensures a mounted filesystem has the SLAVE mount option enabled. See the supported options in flags.go for further reference.

func MakeUnbindable

func MakeUnbindable(mountPoint string) error

MakeUnbindable ensures a mounted filesystem has the UNBINDABLE mount option enabled. See the supported options in flags.go for further reference.

func MergeTmpfsOptions

func MergeTmpfsOptions(options []string) ([]string, error)

MergeTmpfsOptions merge mount options to make sure there is no duplicate.

func Mount

func Mount(device, target, mType, options string) error

Mount will mount filesystem according to the specified configuration. Options must be specified like the mount or fstab unix commands: "opt1=val1,opt2=val2". See flags.go for supported option flags.

func RecursiveUnmount

func RecursiveUnmount(target string) error

RecursiveUnmount unmounts the target and all mounts underneath, starting with the deepest mount first. The argument does not have to be a mount point itself.

func Unmount

func Unmount(target string) error

Unmount lazily unmounts a filesystem on supported platforms, otherwise does a normal unmount. If target is not a mount point, no error is returned.

Types

This section is empty.

Jump to

Keyboard shortcuts

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