Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrInvalid invalid argument passed ErrInvalid = os.ErrInvalid // ErrPermission no permission to complete the task ErrPermission = os.ErrPermission // ErrDeviceExists device with given id already exists ErrDeviceExists = errors.New("device exists") // ErrDeviceNotFound device does not exists ErrDeviceNotFound = errors.New("device not found") // ErrDeviceInUse device is in use ErrDeviceInUse = errors.New("device in use") // ErrDeviceNotReady device not ready yet ErrDeviceNotReady = errors.New("device not ready") // ErrNotEnoughSpace no space to create the device ErrNotEnoughSpace = errors.New("not enough space") )
Functions ¶
This section is empty.
Types ¶
type PmemDeviceInfo ¶
type PmemDeviceInfo struct {
//VolumeId is name of the block device
VolumeId string
//Path actual device path
Path string
//Size size allocated for block device
Size uint64
}
PmemDeviceInfo represents a block device
type PmemDeviceManager ¶
type PmemDeviceManager interface {
// GetCapacity returns the available maximum capacity that can be assigned to a Device/Volume
GetCapacity() (map[string]uint64, error)
// CreateDevice creates a new block device with give name, size and namespace mode
// Possible errors: ErrNotEnoughSpace, ErrInvalid, ErrDeviceExists
CreateDevice(name string, size uint64, nsmode string) error
// GetDevice returns the block device information for given name
// Possible errors: ErrDeviceNotFound
GetDevice(name string) (*PmemDeviceInfo, error)
// DeleteDevice deletes an existing block device with give name.
// If 'flush' is 'true', then the device data is zeroed before deleting the device
// Possible errors: ErrDeviceInUse, ErrPermission
DeleteDevice(name string, flush bool) error
// ListDevices returns all the block devices information that was created by this device manager
ListDevices() ([]*PmemDeviceInfo, error)
}
PmemDeviceManager interface to manage the PMEM block devices
func NewPmemDeviceManagerLVM ¶
func NewPmemDeviceManagerLVM() (PmemDeviceManager, error)
NewPmemDeviceManagerLVM Instantiates a new LVM based pmem device manager The pre-requisite for this manager is that all the pmem regions which should be managed by this LMV manager are devided into namespaces and grouped as volume groups.
func NewPmemDeviceManagerLVMForVGs ¶ added in v0.6.0
func NewPmemDeviceManagerLVMForVGs(volumeGroups []string) (PmemDeviceManager, error)
func NewPmemDeviceManagerNdctl ¶
func NewPmemDeviceManagerNdctl() (PmemDeviceManager, error)
NewPmemDeviceManagerNdctl Instantiates a new ndctl based pmem device manager
Click to show internal directories.
Click to hide internal directories.