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) IsMountPoint(file string) (bool, error)
- func (f *FakeMounter) List() ([]MountPoint, error)
- func (f *FakeMounter) Mount(source string, target string, fstype string, flags uintptr, data string) error
- func (f *FakeMounter) ResetLog()
- func (f *FakeMounter) Unmount(target string, flags int) error
- type Interface
- type MountPoint
- type Mounter
Constants ¶
const FakeActionMount = "mount"
Values for FakeAction.Action
const FakeActionUnmount = "unmount"
const FlagBind = syscall.MS_BIND
const FlagReadOnly = syscall.MS_RDONLY
Variables ¶
This section is empty.
Functions ¶
func GetDeviceNameFromMount ¶
GetDeviceNameFromMount: given a mnt point, find the device from /proc/mounts returns the device name, reference count, and error code
Types ¶
type FakeAction ¶
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 ¶
type FakeMounter struct { MountPoints []MountPoint Log []FakeAction }
FakeMounter implements mount.Interface for tests.
func (*FakeMounter) IsMountPoint ¶
func (f *FakeMounter) IsMountPoint(file string) (bool, error)
func (*FakeMounter) List ¶
func (f *FakeMounter) List() ([]MountPoint, error)
func (*FakeMounter) ResetLog ¶
func (f *FakeMounter) ResetLog()
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
type MountPoint ¶
This represents a single line in /proc/mounts or /etc/fstab.
type Mounter ¶
type Mounter struct{}
Mounter implements mount.Interface for linux platform.
func (*Mounter) IsMountPoint ¶
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 ¶
func (*Mounter) List() ([]MountPoint, error)
List returns a list of all mounted filesystems.