Documentation ¶
Index ¶
- Constants
- Variables
- func ActivateDevice(poolName string, name string, deviceId int, size uint64) error
- func AttachLoopDevice(sparseName string) (loop *os.File, err error)
- func BlockDeviceDiscard(path string) error
- func CreateDevice(poolName string, deviceId *int) error
- func CreatePool(poolName string, dataFile, metadataFile *os.File, poolBlockSize uint32) error
- func CreateSnapDevice(poolName string, deviceId *int, baseName string, baseDeviceId int) error
- func DeleteDevice(poolName string, deviceId int) error
- func DevmapperLogCallback(level C.int, file *C.char, line C.int, dm_errno_or_class C.int, ...)
- func FindLoopDeviceFor(file *os.File) *os.File
- func GetBlockDeviceSize(file *os.File) (uint64, error)
- func GetDriverVersion() (string, error)
- func GetLibraryVersion() (string, error)
- func GetStatus(name string) (uint64, uint64, string, string, error)
- func LogInit(logger DevmapperLogger)
- func LogInitVerbose(level int)
- func LoopbackSetCapacity(file *os.File) error
- func ReloadPool(poolName string, dataFile, metadataFile *os.File, poolBlockSize uint32) error
- func RemoveDevice(name string) error
- func ResumeDevice(name string) error
- func SetDevDir(dir string) error
- func SetTransactionId(poolName string, oldId uint64, newId uint64) error
- func SuspendDevice(name string) error
- func UdevWait(cookie uint) error
- type AddNodeType
- type CDmTask
- type CLoopInfo64
- type Deps
- type DevmapperLogger
- type Info
- type LoopInfo64
- type Task
- func (t *Task) AddTarget(start, size uint64, ttype, params string) error
- func (t *Task) GetDeps() (*Deps, error)
- func (t *Task) GetDriverVersion() (string, error)
- func (t *Task) GetInfo() (*Info, error)
- func (t *Task) GetNextTarget(next uintptr) (nextPtr uintptr, start uint64, length uint64, targetType string, params string)
- func (t *Task) Run() error
- func (t *Task) SetAddNode(addNode AddNodeType) error
- func (t *Task) SetCookie(cookie *uint, flags uint16) error
- func (t *Task) SetMessage(message string) error
- func (t *Task) SetName(name string) error
- func (t *Task) SetRo() error
- func (t *Task) SetSector(sector uint64) error
- type TaskType
Constants ¶
View Source
const ( BlkGetSize64 = C.BLKGETSIZE64 BlkDiscard = C.BLKDISCARD LoopSetFd = C.LOOP_SET_FD LoopCtlGetFree = C.LOOP_CTL_GET_FREE LoopGetStatus64 = C.LOOP_GET_STATUS64 LoopSetStatus64 = C.LOOP_SET_STATUS64 LoopClrFd = C.LOOP_CLR_FD LoopSetCapacity = C.LOOP_SET_CAPACITY )
IOCTL consts
View Source
const ( LoFlagsAutoClear = C.LO_FLAGS_AUTOCLEAR LoFlagsReadOnly = C.LO_FLAGS_READ_ONLY LoFlagsPartScan = C.LO_FLAGS_PARTSCAN LoKeySize = C.LO_KEY_SIZE LoNameSize = C.LO_NAME_SIZE )
Variables ¶
View Source
var ( ErrTaskRun = errors.New("dm_task_run failed") ErrTaskSetName = errors.New("dm_task_set_name failed") ErrTaskSetMessage = errors.New("dm_task_set_message failed") ErrTaskSetAddNode = errors.New("dm_task_set_add_node failed") ErrTaskSetRo = errors.New("dm_task_set_ro failed") ErrTaskAddTarget = errors.New("dm_task_add_target failed") ErrTaskSetSector = errors.New("dm_task_set_sector failed") ErrTaskGetDeps = errors.New("dm_task_get_deps failed") ErrTaskGetInfo = errors.New("dm_task_get_info failed") ErrTaskGetDriverVersion = errors.New("dm_task_get_driver_version failed") ErrTaskSetCookie = errors.New("dm_task_set_cookie failed") ErrNilCookie = errors.New("cookie ptr can't be nil") ErrAttachLoopbackDevice = errors.New("loopback mounting failed") ErrGetBlockSize = errors.New("Can't get block size") ErrUdevWait = errors.New("wait on udev cookie failed") ErrSetDevDir = errors.New("dm_set_dev_dir failed") ErrGetLibraryVersion = errors.New("dm_get_library_version failed") ErrCreateRemoveTask = errors.New("Can't create task of type DeviceRemove") ErrRunRemoveDevice = errors.New("running RemoveDevice failed") ErrInvalidAddNode = errors.New("Invalide AddNoce type") ErrGetLoopbackBackingFile = errors.New("Unable to get loopback backing file") ErrLoopbackSetCapacity = errors.New("Unable set loopback capacity") ErrBusy = errors.New("Device is Busy") )
View Source
var ( DmGetLibraryVersion = dmGetLibraryVersionFct DmGetNextTarget = dmGetNextTargetFct DmLogInitVerbose = dmLogInitVerboseFct DmSetDevDir = dmSetDevDirFct DmTaskAddTarget = dmTaskAddTargetFct DmTaskCreate = dmTaskCreateFct DmTaskDestroy = dmTaskDestroyFct DmTaskGetDeps = dmTaskGetDepsFct DmTaskGetInfo = dmTaskGetInfoFct DmTaskGetDriverVersion = dmTaskGetDriverVersionFct DmTaskRun = dmTaskRunFct DmTaskSetAddNode = dmTaskSetAddNodeFct DmTaskSetCookie = dmTaskSetCookieFct DmTaskSetMessage = dmTaskSetMessageFct DmTaskSetName = dmTaskSetNameFct DmTaskSetRo = dmTaskSetRoFct DmTaskSetSector = dmTaskSetSectorFct DmUdevWait = dmUdevWaitFct LogWithErrnoInit = logWithErrnoInitFct )
Functions ¶
func ActivateDevice ¶
func AttachLoopDevice ¶
attachLoopDevice attaches the given sparse file to the next available loopback device. It returns an opened *os.File.
func BlockDeviceDiscard ¶
func CreateDevice ¶
func CreatePool ¶
This is the programmatic example of "dmsetup create"
func CreateSnapDevice ¶
func DeleteDevice ¶
func DevmapperLogCallback ¶
func GetDriverVersion ¶
func GetLibraryVersion ¶
func LogInit ¶
func LogInit(logger DevmapperLogger)
initialize the logger for the device mapper library
func LogInitVerbose ¶
func LogInitVerbose(level int)
func LoopbackSetCapacity ¶
func ReloadPool ¶
func ResumeDevice ¶
func SuspendDevice ¶
Types ¶
type AddNodeType ¶
type AddNodeType int
const ( AddNodeOnResume AddNodeType = iota AddNodeOnCreate )
type CDmTask ¶
type CDmTask C.struct_dm_task
type CLoopInfo64 ¶
type CLoopInfo64 C.struct_loop_info64
type DevmapperLogger ¶
type Info ¶
type LoopInfo64 ¶
type LoopInfo64 struct {
// contains filtered or unexported fields
}
type Task ¶
type Task struct {
// contains filtered or unexported fields
}
func TaskCreate ¶
func (*Task) GetDriverVersion ¶
func (*Task) GetNextTarget ¶
func (*Task) SetAddNode ¶
func (t *Task) SetAddNode(addNode AddNodeType) error
func (*Task) SetMessage ¶
Click to show internal directories.
Click to hide internal directories.