volume

package
v1.1.3 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2023 License: Apache-2.0 Imports: 9 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// VolumeRegexp matches a Windows Volume
	// example: Volume{452e318a-5cde-421e-9831-b9853c521012}
	//
	// The field UniqueId has an additional prefix which is NOT included in the regex
	// however the regex can match UniqueId too
	// PS C:\disks> (Get-Disk -Number 1 | Get-Partition | Get-Volume).UniqueId
	// \\?\Volume{452e318a-5cde-421e-9831-b9853c521012}\
	VolumeRegexp = regexp.MustCompile(`Volume\{[\w-]*\}`)
)

Functions

This section is empty.

Types

type API

type API interface {
	// ListVolumesOnDisk lists volumes on a disk identified by a `diskNumber` and optionally a partition identified by `partitionNumber`.
	ListVolumesOnDisk(diskNumber uint32, partitionNumber uint32) (volumeIDs []string, err error)
	// MountVolume mounts the volume at the requested global staging target path.
	MountVolume(volumeID, targetPath string) error
	// UnmountVolume gracefully dismounts a volume.
	UnmountVolume(volumeID, targetPath string) error
	// IsVolumeFormatted checks if a volume is formatted with NTFS.
	IsVolumeFormatted(volumeID string) (bool, error)
	// FormatVolume formats a volume with the NTFS format.
	FormatVolume(volumeID string) error
	// ResizeVolume performs resizing of the partition and file system for a block based volume.
	ResizeVolume(volumeID string, sizeBytes int64) error
	// GetVolumeStats gets the volume information.
	GetVolumeStats(volumeID string) (int64, int64, error)
	// GetDiskNumberFromVolumeID returns the disk number for a given volumeID.
	GetDiskNumberFromVolumeID(volumeID string) (uint32, error)
	// GetVolumeIDFromTargetPath returns the volume id of a given target path.
	GetVolumeIDFromTargetPath(targetPath string) (string, error)
	// WriteVolumeCache writes the volume `volumeID`'s cache to disk.
	WriteVolumeCache(volumeID string) error
	// GetVolumeIDFromTargetPath returns the volume id of a given target path.
	GetClosestVolumeIDFromTargetPath(targetPath string) (string, error)
}

API exposes the internal volume operations available in the server

type VolumeAPI

type VolumeAPI struct{}

VolumeAPI implements the internal Volume APIs

func New

func New() VolumeAPI

New - Construct a new Volume API Implementation.

func (VolumeAPI) FormatVolume

func (VolumeAPI) FormatVolume(volumeID string) (err error)

FormatVolume - Formats a volume with the NTFS format.

func (VolumeAPI) GetClosestVolumeIDFromTargetPath added in v1.1.0

func (VolumeAPI) GetClosestVolumeIDFromTargetPath(targetPath string) (string, error)

GetVolumeIDFromTargetPath returns the volume id of a given target path.

func (VolumeAPI) GetDiskNumberFromVolumeID

func (VolumeAPI) GetDiskNumberFromVolumeID(volumeID string) (uint32, error)

GetDiskNumberFromVolumeID - gets the disk number where the volume is.

func (VolumeAPI) GetVolumeIDFromTargetPath

func (VolumeAPI) GetVolumeIDFromTargetPath(mount string) (string, error)

GetVolumeIDFromTargetPath - gets the volume ID given a mount point, the function is recursive until it find a volume or errors out

func (VolumeAPI) GetVolumeStats

func (VolumeAPI) GetVolumeStats(volumeID string) (int64, int64, error)

GetVolumeStats - retrieves the volume stats for a given volume

func (VolumeAPI) IsVolumeFormatted

func (VolumeAPI) IsVolumeFormatted(volumeID string) (bool, error)

IsVolumeFormatted - Check if the volume is formatted with the pre specified filesystem(typically ntfs).

func (VolumeAPI) ListVolumesOnDisk

func (VolumeAPI) ListVolumesOnDisk(diskNumber uint32, partitionNumber uint32) (volumeIDs []string, err error)

ListVolumesOnDisk - returns back list of volumes(volumeIDs) in a disk and a partition.

func (VolumeAPI) MountVolume

func (VolumeAPI) MountVolume(volumeID, path string) error

MountVolume - mounts a volume to a path. This is done using the Add-PartitionAccessPath for presenting the volume via a path.

func (VolumeAPI) ResizeVolume

func (VolumeAPI) ResizeVolume(volumeID string, size int64) error

ResizeVolume - resizes a volume with the given size, if size == 0 then max supported size is used

func (VolumeAPI) UnmountVolume

func (VolumeAPI) UnmountVolume(volumeID, path string) error

UnmountVolume - unmounts the volume path by removing the partition access path

func (VolumeAPI) WriteVolumeCache

func (VolumeAPI) WriteVolumeCache(volumeID string) (err error)

WriteVolumeCache - Writes the file system cache to disk with the given volume id

Jump to

Keyboard shortcuts

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