mount

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 26, 2016 License: Apache-2.0 Imports: 14 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"

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
	// contains filtered or unexported fields
}

FakeMounter implements mount.Interface for tests.

func (*FakeMounter) DeviceOpened added in v1.4.0

func (f *FakeMounter) DeviceOpened(pathname string) (bool, error)

func (*FakeMounter) GetDeviceNameFromMount added in v1.3.6

func (f *FakeMounter) GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)

func (*FakeMounter) IsLikelyNotMountPoint added in v1.1.0

func (f *FakeMounter) IsLikelyNotMountPoint(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, options []string) error

func (*FakeMounter) PathIsDevice added in v1.4.0

func (f *FakeMounter) PathIsDevice(pathname string) (bool, 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) error

type Interface

type Interface interface {
	// Mount mounts source to target as fstype with given options.
	Mount(source string, target string, fstype string, options []string) error
	// Unmount unmounts given target.
	Unmount(target string) 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)
	// IsLikelyNotMountPoint determines if a directory is a mountpoint.
	// It should return ErrNotExist when the directory does not exist.
	IsLikelyNotMountPoint(file string) (bool, error)
	// DeviceOpened determines if the device is in use elsewhere
	// on the system, i.e. still mounted.
	DeviceOpened(pathname string) (bool, error)
	// PathIsDevice determines if a path is a device.
	PathIsDevice(pathname string) (bool, error)
	// GetDeviceNameFromMount finds the device name by checking the mount path
	// to get the global mount path which matches its plugin directory
	GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)
}

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{}

func (*Mounter) DeviceOpened added in v1.4.0

func (mounter *Mounter) DeviceOpened(pathname string) (bool, error)

func (*Mounter) GetDeviceNameFromMount added in v1.3.6

func (mounter *Mounter) GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)

func (*Mounter) IsLikelyNotMountPoint added in v1.1.0

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

func (*Mounter) List added in v0.10.0

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

func (*Mounter) Mount added in v0.10.0

func (mounter *Mounter) Mount(source string, target string, fstype string, options []string) error

func (*Mounter) PathIsDevice added in v1.4.0

func (mounter *Mounter) PathIsDevice(pathname string) (bool, error)

func (*Mounter) Unmount added in v0.10.0

func (mounter *Mounter) Unmount(target string) error

type NsenterMounter added in v0.17.0

type NsenterMounter struct{}

func NewNsenterMounter added in v1.0.6

func NewNsenterMounter() *NsenterMounter

func (*NsenterMounter) DeviceOpened added in v1.4.0

func (*NsenterMounter) DeviceOpened(pathname string) (bool, error)

func (*NsenterMounter) GetDeviceNameFromMount added in v1.3.6

func (*NsenterMounter) GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)

func (*NsenterMounter) IsLikelyNotMountPoint added in v1.1.0

func (*NsenterMounter) IsLikelyNotMountPoint(file string) (bool, error)

func (*NsenterMounter) List added in v0.17.0

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

func (*NsenterMounter) Mount added in v0.17.0

func (*NsenterMounter) Mount(source string, target string, fstype string, options []string) error

func (*NsenterMounter) PathIsDevice added in v1.4.0

func (*NsenterMounter) PathIsDevice(pathname string) (bool, error)

func (*NsenterMounter) Unmount added in v0.17.0

func (*NsenterMounter) Unmount(target string) error

type SafeFormatAndMount added in v1.1.0

type SafeFormatAndMount struct {
	Interface
	Runner exec.Interface
}

SafeFormatAndMount probes a device to see if it is formatted. Namely it checks to see if a file system is present. If so it mounts it otherwise the device is formatted first then mounted.

func (*SafeFormatAndMount) FormatAndMount added in v1.2.0

func (mounter *SafeFormatAndMount) FormatAndMount(source string, target string, fstype string, options []string) error

FormatAndMount formats the given disk, if needed, and mounts it. That is if the disk is not formatted and it is not being mounted as read-only it will format it first then mount it. Otherwise, if the disk is already formatted or it is being mounted as read-only, it will be mounted without formatting.

Jump to

Keyboard shortcuts

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