Merge pull request #56 from shykes/creack-dm-plugin
Use variable to call functions in devmapper_wrapper + some formatting
This commit is contained in:
commit
a26f9183bd
|
@ -187,7 +187,7 @@ func AttachLoopDevice(filename string) (*osFile, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func getLoopbackBackingFile(file *osFile) (uint64, uint64, error) {
|
func getLoopbackBackingFile(file *osFile) (uint64, uint64, error) {
|
||||||
dev, inode, err := dmGetLoopbackBackingFile(file.Fd())
|
dev, inode, err := DmGetLoopbackBackingFile(file.Fd())
|
||||||
if err != 0 {
|
if err != 0 {
|
||||||
return 0, 0, ErrGetLoopbackBackingFile
|
return 0, 0, ErrGetLoopbackBackingFile
|
||||||
}
|
}
|
||||||
|
@ -195,8 +195,7 @@ func getLoopbackBackingFile(file *osFile) (uint64, uint64, error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func LoopbackSetCapacity(file *osFile) error {
|
func LoopbackSetCapacity(file *osFile) error {
|
||||||
err := dmLoopbackSetCapacity(file.Fd())
|
if err := DmLoopbackSetCapacity(file.Fd()); err != 0 {
|
||||||
if err != 0 {
|
|
||||||
return ErrLoopbackSetCapacity
|
return ErrLoopbackSetCapacity
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|
|
@ -148,26 +148,28 @@ type (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
DmAttachLoopDevice = dmAttachLoopDeviceFct
|
DmAttachLoopDevice = dmAttachLoopDeviceFct
|
||||||
DmGetBlockSize = dmGetBlockSizeFct
|
DmGetBlockSize = dmGetBlockSizeFct
|
||||||
DmGetLibraryVersion = dmGetLibraryVersionFct
|
DmGetLibraryVersion = dmGetLibraryVersionFct
|
||||||
DmGetNextTarget = dmGetNextTargetFct
|
DmGetNextTarget = dmGetNextTargetFct
|
||||||
DmLogInitVerbose = dmLogInitVerboseFct
|
DmLogInitVerbose = dmLogInitVerboseFct
|
||||||
DmSetDevDir = dmSetDevDirFct
|
DmSetDevDir = dmSetDevDirFct
|
||||||
DmTaskAddTarget = dmTaskAddTargetFct
|
DmTaskAddTarget = dmTaskAddTargetFct
|
||||||
DmTaskCreate = dmTaskCreateFct
|
DmTaskCreate = dmTaskCreateFct
|
||||||
DmTaskDestroy = dmTaskDestroyFct
|
DmTaskDestroy = dmTaskDestroyFct
|
||||||
DmTaskGetInfo = dmTaskGetInfoFct
|
DmTaskGetInfo = dmTaskGetInfoFct
|
||||||
DmTaskRun = dmTaskRunFct
|
DmTaskRun = dmTaskRunFct
|
||||||
DmTaskSetAddNode = dmTaskSetAddNodeFct
|
DmTaskSetAddNode = dmTaskSetAddNodeFct
|
||||||
DmTaskSetCookie = dmTaskSetCookieFct
|
DmTaskSetCookie = dmTaskSetCookieFct
|
||||||
DmTaskSetMessage = dmTaskSetMessageFct
|
DmTaskSetMessage = dmTaskSetMessageFct
|
||||||
DmTaskSetName = dmTaskSetNameFct
|
DmTaskSetName = dmTaskSetNameFct
|
||||||
DmTaskSetRo = dmTaskSetRoFct
|
DmTaskSetRo = dmTaskSetRoFct
|
||||||
DmTaskSetSector = dmTaskSetSectorFct
|
DmTaskSetSector = dmTaskSetSectorFct
|
||||||
DmUdevWait = dmUdevWaitFct
|
DmUdevWait = dmUdevWaitFct
|
||||||
GetBlockSize = getBlockSizeFct
|
GetBlockSize = getBlockSizeFct
|
||||||
LogWithErrnoInit = logWithErrnoInitFct
|
LogWithErrnoInit = logWithErrnoInitFct
|
||||||
|
DmGetLoopbackBackingFile = dmGetLoopbackBackingFileFct
|
||||||
|
DmLoopbackSetCapacity = dmLoopbackSetCapacityFct
|
||||||
)
|
)
|
||||||
|
|
||||||
func free(p *C.char) {
|
func free(p *C.char) {
|
||||||
|
@ -238,14 +240,14 @@ func dmTaskAddTargetFct(task *CDmTask,
|
||||||
C.uint64_t(start), C.uint64_t(size), Cttype, Cparams))
|
C.uint64_t(start), C.uint64_t(size), Cttype, Cparams))
|
||||||
}
|
}
|
||||||
|
|
||||||
func dmGetLoopbackBackingFile(fd uintptr) (uint64, uint64, sysErrno) {
|
func dmGetLoopbackBackingFileFct(fd uintptr) (uint64, uint64, sysErrno) {
|
||||||
var lo64 C.struct_loop_info64
|
var lo64 C.struct_loop_info64
|
||||||
_, _, err := sysSyscall(sysSysIoctl, fd, C.LOOP_GET_STATUS64,
|
_, _, err := sysSyscall(sysSysIoctl, fd, C.LOOP_GET_STATUS64,
|
||||||
uintptr(unsafe.Pointer(&lo64)))
|
uintptr(unsafe.Pointer(&lo64)))
|
||||||
return uint64(lo64.lo_device), uint64(lo64.lo_inode), sysErrno(err)
|
return uint64(lo64.lo_device), uint64(lo64.lo_inode), sysErrno(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
func dmLoopbackSetCapacity(fd uintptr) sysErrno {
|
func dmLoopbackSetCapacityFct(fd uintptr) sysErrno {
|
||||||
_, _, err := sysSyscall(sysSysIoctl, fd, C.LOOP_SET_CAPACITY, 0)
|
_, _, err := sysSyscall(sysSysIoctl, fd, C.LOOP_SET_CAPACITY, 0)
|
||||||
return sysErrno(err)
|
return sysErrno(err)
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,6 @@ import (
|
||||||
"path"
|
"path"
|
||||||
)
|
)
|
||||||
|
|
||||||
var DefaultDriver string
|
|
||||||
|
|
||||||
type InitFunc func(root string) (Driver, error)
|
type InitFunc func(root string) (Driver, error)
|
||||||
|
|
||||||
type Driver interface {
|
type Driver interface {
|
||||||
|
@ -34,6 +32,7 @@ type Differ interface {
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
DefaultDriver string
|
||||||
// All registred drivers
|
// All registred drivers
|
||||||
drivers map[string]InitFunc
|
drivers map[string]InitFunc
|
||||||
// Slice of drivers that should be used in an order
|
// Slice of drivers that should be used in an order
|
||||||
|
@ -64,14 +63,8 @@ func GetDriver(name, home string) (Driver, error) {
|
||||||
return nil, fmt.Errorf("No such driver: %s", name)
|
return nil, fmt.Errorf("No such driver: %s", name)
|
||||||
}
|
}
|
||||||
|
|
||||||
func New(root string) (Driver, error) {
|
func New(root string) (driver Driver, err error) {
|
||||||
var driver Driver
|
for _, name := range []string{os.Getenv("DOCKER_DRIVER"), DefaultDriver} {
|
||||||
var lastError error
|
|
||||||
|
|
||||||
for _, name := range []string{
|
|
||||||
os.Getenv("DOCKER_DRIVER"),
|
|
||||||
DefaultDriver,
|
|
||||||
} {
|
|
||||||
if name != "" {
|
if name != "" {
|
||||||
return GetDriver(name, root)
|
return GetDriver(name, root)
|
||||||
}
|
}
|
||||||
|
@ -79,9 +72,8 @@ func New(root string) (Driver, error) {
|
||||||
|
|
||||||
// Check for priority drivers first
|
// Check for priority drivers first
|
||||||
for _, name := range priority {
|
for _, name := range priority {
|
||||||
driver, lastError = GetDriver(name, root)
|
if driver, err = GetDriver(name, root); err != nil {
|
||||||
if lastError != nil {
|
utils.Debugf("Error loading driver %s: %s", name, err)
|
||||||
utils.Debugf("Error loading driver %s: %s", name, lastError)
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return driver, nil
|
return driver, nil
|
||||||
|
@ -89,11 +81,10 @@ func New(root string) (Driver, error) {
|
||||||
|
|
||||||
// Check all registered drivers if no priority driver is found
|
// Check all registered drivers if no priority driver is found
|
||||||
for _, initFunc := range drivers {
|
for _, initFunc := range drivers {
|
||||||
driver, lastError = initFunc(root)
|
if driver, err = initFunc(root); err != nil {
|
||||||
if lastError != nil {
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
return driver, nil
|
return driver, nil
|
||||||
}
|
}
|
||||||
return nil, lastError
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue