disk

package
v2.48.0+incompatible Latest Latest
Warning

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

Go to latest
Published: Nov 13, 2017 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewDiskUtil

func NewDiskUtil(diskPath string, runner boshsys.CmdRunner, mounter Mounter, fs boshsys.FileSystem, logger boshlog.Logger) boshdevutil.DeviceUtil

func NewPartitionStrategy

func NewPartitionStrategy(
	retryable boshretry.Retryable,
	timeService clock.Clock,
	logger boshlog.Logger,
) boshretry.RetryStrategy

Types

type FileSystemType

type FileSystemType string
const (
	FileSystemSwap    FileSystemType = "swap"
	FileSystemExt4    FileSystemType = "ext4"
	FileSystemXFS     FileSystemType = "xfs"
	FileSystemDefault FileSystemType = ""
)

type Formatter

type Formatter interface {
	Format(partitionPath string, fsType FileSystemType) (err error)
}

func NewLinuxFormatter

func NewLinuxFormatter(runner boshsys.CmdRunner, fs boshsys.FileSystem) Formatter

type LinuxDiskManagerOpts

type LinuxDiskManagerOpts struct {
	BindMount       bool
	PartitionerType string
}

type Manager

type Manager interface {
	GetPartitioner() Partitioner
	GetRootDevicePartitioner() Partitioner
	GetPartedPartitioner() Partitioner
	GetFormatter() Formatter
	GetMounter() Mounter
	GetMountsSearcher() MountsSearcher
	GetDiskUtil(diskPath string) boshdevutil.DeviceUtil
}

func NewLinuxDiskManager

func NewLinuxDiskManager(
	logger boshlog.Logger,
	runner boshsys.CmdRunner,
	fs boshsys.FileSystem,
	opts LinuxDiskManagerOpts,
) (manager Manager)

type Mount

type Mount struct {
	PartitionPath string
	MountPoint    string
}

type Mounter

type Mounter interface {
	Mount(partitionPath, mountPoint string, mountOptions ...string) (err error)
	MountFilesystem(partitionPath, mountPoint, fstype string, mountOptions ...string) (err error)
	Unmount(partitionOrMountPoint string) (didUnmount bool, err error)

	RemountAsReadonly(mountPoint string) (err error)
	Remount(fromMountPoint, toMountPoint string, mountOptions ...string) (err error)
	RemountInPlace(mountPoint string, mountOptions ...string) (err error)

	SwapOn(partitionPath string) (err error)

	IsMountPoint(path string) (parititionPath string, result bool, err error)
	IsMounted(devicePathOrMountPoint string) (result bool, err error)
}

func NewLinuxBindMounter

func NewLinuxBindMounter(delegateMounter Mounter) Mounter

func NewLinuxMounter

func NewLinuxMounter(
	runner boshsys.CmdRunner,
	mountsSearcher MountsSearcher,
	unmountRetrySleep time.Duration,
) Mounter

type MountsSearcher

type MountsSearcher interface {
	SearchMounts() ([]Mount, error)
}

func NewCmdMountsSearcher

func NewCmdMountsSearcher(runner boshsys.CmdRunner) MountsSearcher

func NewProcMountsSearcher

func NewProcMountsSearcher(fs boshsys.FileSystem) MountsSearcher

type Partition

type Partition struct {
	SizeInBytes uint64
	Type        PartitionType
}

func (Partition) String

func (p Partition) String() string

type PartitionType

type PartitionType string
const (
	PartitionTypeSwap    PartitionType = "swap"
	PartitionTypeLinux   PartitionType = "linux"
	PartitionTypeEmpty   PartitionType = "empty"
	PartitionTypeUnknown PartitionType = "unknown"
)

type Partitioner

type Partitioner interface {
	Partition(devicePath string, partitions []Partition) (err error)
	GetDeviceSizeInBytes(devicePath string) (size uint64, err error)
}

func NewPartedPartitioner

func NewPartedPartitioner(logger boshlog.Logger, cmdRunner boshsys.CmdRunner, timeService clock.Clock) Partitioner

func NewRootDevicePartitioner

func NewRootDevicePartitioner(logger boshlog.Logger, cmdRunner boshsys.CmdRunner, deltaInBytes uint64) Partitioner

func NewSfdiskPartitioner

func NewSfdiskPartitioner(logger boshlog.Logger, cmdRunner boshsys.CmdRunner, timeService clock.Clock) Partitioner

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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