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
- func GetDeviceNameFromMount(mounter Interface, mountPath string) (string, int, error)
- func GetMountRefs(mounter Interface, mountPath string) ([]string, error)
- type FakeAction
- type FakeMounter
- func (f *FakeMounter) DeviceOpened(pathname string) (bool, error)
- func (f *FakeMounter) GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)
- func (f *FakeMounter) IsLikelyNotMountPoint(file string) (bool, error)
- func (f *FakeMounter) List() ([]MountPoint, error)
- func (f *FakeMounter) Mount(source string, target string, fstype string, options []string) error
- func (f *FakeMounter) PathIsDevice(pathname string) (bool, error)
- func (f *FakeMounter) ResetLog()
- func (f *FakeMounter) Unmount(target string) error
- type Interface
- type MountPoint
- type Mounter
- func (mounter *Mounter) DeviceOpened(pathname string) (bool, error)
- func (mounter *Mounter) GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)
- func (mounter *Mounter) IsLikelyNotMountPoint(file string) (bool, error)
- func (mounter *Mounter) List() ([]MountPoint, error)
- func (mounter *Mounter) Mount(source string, target string, fstype string, options []string) error
- func (mounter *Mounter) PathIsDevice(pathname string) (bool, error)
- func (mounter *Mounter) Unmount(target string) error
- type NsenterMounter
- func (*NsenterMounter) DeviceOpened(pathname string) (bool, error)
- func (*NsenterMounter) GetDeviceNameFromMount(mountPath, pluginDir string) (string, error)
- func (*NsenterMounter) IsLikelyNotMountPoint(file string) (bool, error)
- func (*NsenterMounter) List() ([]MountPoint, error)
- func (*NsenterMounter) Mount(source string, target string, fstype string, options []string) error
- func (*NsenterMounter) PathIsDevice(pathname string) (bool, error)
- func (*NsenterMounter) Unmount(target string) error
- type SafeFormatAndMount
Constants ¶
const FakeActionMount = "mount"
Values for FakeAction.Action
const FakeActionUnmount = "unmount"
Variables ¶
This section is empty.
Functions ¶
func GetDeviceNameFromMount ¶ added in v0.15.0
GetDeviceNameFromMount: given a mnt point, find the device from /proc/mounts returns the device name, reference count, and error code
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) 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) }
type MountPoint ¶
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) GetDeviceNameFromMount ¶ added in v1.3.6
func (*Mounter) IsLikelyNotMountPoint ¶ added in v1.1.0
func (*Mounter) List ¶ added in v0.10.0
func (mounter *Mounter) List() ([]MountPoint, error)
func (*Mounter) PathIsDevice ¶ added in v1.4.0
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) 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
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.