Help us shape the future of Go! Take the 2026 Go Developer Survey

mount

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Apr 29, 2015 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package mount defines an interface to mounting filesystems.

TODO(thockin): This whole pkg is pretty linux-centric. As soon as we have an alternate platform, we will need to abstract further.

Index

Constants

View Source
const FakeActionMount = "mount"

Values for FakeAction.Action

View Source
const FakeActionUnmount = "unmount"
View Source
const FlagBind = syscall.MS_BIND
View Source
const FlagReadOnly = syscall.MS_RDONLY

Variables

This section is empty.

Functions

func GetDeviceNameFromMount added in v0.15.0

func GetDeviceNameFromMount(mounter Interface, mountPath string) (string, int, error)

GetDeviceNameFromMount: given a mnt point, find the device from /proc/mounts returns the device name, reference count, and error code

func GetMountRefs added in v0.13.0

func GetMountRefs(mounter Interface, mountPath string) ([]string, error)

GetMountRefs finds all other references to the device referenced by mountPath; returns a list of paths.

Types

type FakeAction added in v0.13.1

type FakeAction struct {
	Action string // "mount" or "unmount"
	Target string // applies to both mount and unmount actions
	Source string // applies only to "mount" actions
	FSType string // applies only to "mount" actions
}

FakeAction objects are logged every time a fake mount or unmount is called.

type FakeMounter added in v0.13.0

type FakeMounter struct {
	MountPoints []MountPoint
	Log         []FakeAction
}

FakeMounter implements mount.Interface for tests.

func (*FakeMounter) IsMountPoint added in v0.15.0

func (f *FakeMounter) IsMountPoint(file string) (bool, error)

func (*FakeMounter) List added in v0.13.0

func (f *FakeMounter) List() ([]MountPoint, error)

func (*FakeMounter) Mount added in v0.13.0

func (f *FakeMounter) Mount(source string, target string, fstype string, flags uintptr, data string) error

func (*FakeMounter) ResetLog added in v0.13.1

func (f *FakeMounter) ResetLog()

func (*FakeMounter) Unmount added in v0.13.0

func (f *FakeMounter) Unmount(target string, flags int) error

type Interface

type Interface interface {
	// Mount wraps syscall.Mount().
	Mount(source string, target string, fstype string, flags uintptr, data string) error
	// Umount wraps syscall.Mount().
	Unmount(target string, flags int) error
	// List returns a list of all mounted filesystems.  This can be large.
	// On some platforms, reading mounts is not guaranteed consistent (i.e.
	// it could change between chunked reads). This is guaranteed to be
	// consistent.
	List() ([]MountPoint, error)
	// IsMountPoint determines if a directory is a mountpoint.
	IsMountPoint(file string) (bool, error)
}

Each supported platform must define the following flags:

  • FlagBind: specifies a bind mount
  • FlagReadOnly: the mount will be read-only

func New

func New() Interface

New returns a mount.Interface for the current system.

type MountPoint

type MountPoint struct {
	Device string
	Path   string
	Type   string
	Opts   []string
	Freq   int
	Pass   int
}

This represents a single line in /proc/mounts or /etc/fstab.

type Mounter added in v0.10.0

type Mounter struct{}

Mounter implements mount.Interface for linux platform.

func (*Mounter) IsMountPoint added in v0.15.0

func (mounter *Mounter) IsMountPoint(file string) (bool, error)

IsMountPoint determines if a directory is a mountpoint, by comparing the device for the directory with the device for it's parent. If they are the same, it's not a mountpoint, if they're different, it is.

func (*Mounter) List added in v0.10.0

func (*Mounter) List() ([]MountPoint, error)

List returns a list of all mounted filesystems.

func (*Mounter) Mount added in v0.10.0

func (mounter *Mounter) Mount(source string, target string, fstype string, flags uintptr, data string) error

Mount wraps syscall.Mount()

func (*Mounter) Unmount added in v0.10.0

func (mounter *Mounter) Unmount(target string, flags int) error

Unmount wraps syscall.Unmount()

Jump to

Keyboard shortcuts

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