mountmanager

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Oct 31, 2020 License: Apache-2.0 Imports: 14 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCustomFakeSafeMounter added in v0.6.0

func NewCustomFakeSafeMounter(mounter mount.Interface, exec exec.Interface) *mount.SafeFormatAndMount

func NewDeviceUtils added in v0.2.0

func NewDeviceUtils() *deviceUtils

func NewFakeDeviceUtils added in v0.2.0

func NewFakeDeviceUtils() *fakeDeviceUtils

func NewFakeSafeBlockingMounter added in v0.6.0

func NewFakeSafeBlockingMounter(readyToExecute chan chan struct{}) *mount.SafeFormatAndMount

func NewFakeSafeMounter added in v0.2.0

func NewFakeSafeMounter() *mount.SafeFormatAndMount

func NewFakeSafeMounterWithCustomExec added in v0.6.0

func NewFakeSafeMounterWithCustomExec(exec exec.Interface) *mount.SafeFormatAndMount

func NewFakeStatter added in v0.7.0

func NewFakeStatter(mounter *mount.SafeFormatAndMount) *fakeStatter

func NewSafeMounter added in v0.2.0

func NewSafeMounter() (*mount.SafeFormatAndMount, error)

func NewStatter added in v0.7.0

func NewStatter(mounter *mount.SafeFormatAndMount) *realStatter

Types

type CSIProxyMounter added in v1.0.0

type CSIProxyMounter struct {
	FsClient     *fsclient.Client
	DiskClient   *diskclient.Client
	VolumeClient *volumeclient.Client
}

func NewCSIProxyMounter added in v1.0.0

func NewCSIProxyMounter() (*CSIProxyMounter, error)

func (*CSIProxyMounter) ExistsPath added in v1.0.0

func (mounter *CSIProxyMounter) ExistsPath(path string) (bool, error)

ExistsPath - Checks if a path exists. Unlike util ExistsPath, this call does not perform follow link.

func (*CSIProxyMounter) FormatAndMount added in v1.0.0

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

FormatAndMount accepts the source disk number, target path to mount, the fstype to format with and options to be used. After formatting, it will mount the disk to target path on the host

func (*CSIProxyMounter) GetBlockSizeBytes added in v1.1.0

func (mounter *CSIProxyMounter) GetBlockSizeBytes(diskId string) (int64, error)

func (*CSIProxyMounter) GetDevicePath added in v1.0.0

func (mounter *CSIProxyMounter) GetDevicePath(deviceName string, partition string, volumeKey string) (string, error)

func (*CSIProxyMounter) GetMountRefs added in v1.0.0

func (mounter *CSIProxyMounter) GetMountRefs(pathname string) ([]string, error)

func (*CSIProxyMounter) IsLikelyNotMountPoint added in v1.0.0

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

func (*CSIProxyMounter) IsMountPointMatch added in v1.0.0

func (mounter *CSIProxyMounter) IsMountPointMatch(mp mount.MountPoint, dir string) bool

func (*CSIProxyMounter) List added in v1.0.0

func (mounter *CSIProxyMounter) List() ([]mount.MountPoint, error)

func (*CSIProxyMounter) Mount added in v1.0.0

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

Mount just creates a soft link at target pointing to source.

func (*CSIProxyMounter) MountSensitive added in v1.0.0

func (mounter *CSIProxyMounter) MountSensitive(source string, target string, fstype string, options []string, sensitiveOptions []string) error

MountSensitive is the same as Mount() but this method allows sensitiveOptions to be passed in a separate parameter from the normal mount options and ensures the sensitiveOptions are never logged. Since Mount here is just create a synlink, so options and sensitiveOptions are not used here

func (*CSIProxyMounter) RemovePodDir added in v1.0.0

func (mounter *CSIProxyMounter) RemovePodDir(target string) error

Delete the given directory with Pod context. CSI proxy does a check for path prefix based on context

func (*CSIProxyMounter) Unmount added in v1.0.0

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

func (*CSIProxyMounter) UnmountDevice added in v1.1.0

func (mounter *CSIProxyMounter) UnmountDevice(target string) error

UnmountDevice uses target path to find the volume id first, and then call DismountVolume through csi-proxy. If succeeded, it will delete the given path at last step. CSI proxy does a check for path prefix based on context

type DeviceUtils added in v0.2.0

type DeviceUtils interface {
	// GetDiskByIdPaths returns a list of all possible paths for a
	// given Persistent Disk
	GetDiskByIdPaths(deviceName string, partition string) []string

	// VerifyDevicePath returns the first of the list of device paths that
	// exists on the machine, or an empty string if none exists
	VerifyDevicePath(devicePaths []string, deviceName string) (string, error)
}

DeviceUtils are a collection of methods that act on the devices attached to a GCE Instance

type FakeBlockingMounter added in v0.6.0

type FakeBlockingMounter struct {
	*mount.FakeMounter
	ReadyToExecute chan chan struct{}
}

func (*FakeBlockingMounter) Mount added in v0.6.0

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

Mount is overridden and adds functionality to finely control the order of execution of FakeMounter's Mount calls. Upon starting a Mount, it passes a chan 'executeMount' into readyToExecute, then blocks on executeMount. The test calling this function can block on readyToExecute to ensure that the operation has started and allowed the Mount to continue by passing a struct into executeMount.

type Statter added in v0.7.0

type Statter interface {
	StatFS(path string) (int64, int64, int64, int64, int64, int64, error)
	IsBlockDevice(string) (bool, error)
}

Jump to

Keyboard shortcuts

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