diff --git a/graphdriver/devmapper/devmapper.go b/graphdriver/devmapper/devmapper.go index de82bde0fd..89c36d45ad 100644 --- a/graphdriver/devmapper/devmapper.go +++ b/graphdriver/devmapper/devmapper.go @@ -187,7 +187,7 @@ func AttachLoopDevice(filename string) (*osFile, error) { } func getLoopbackBackingFile(file *osFile) (uint64, uint64, error) { - dev, inode, err := dmGetLoopbackBackingFile(file.Fd()) + dev, inode, err := DmGetLoopbackBackingFile(file.Fd()) if err != 0 { return 0, 0, ErrGetLoopbackBackingFile } @@ -195,8 +195,7 @@ func getLoopbackBackingFile(file *osFile) (uint64, uint64, error) { } func LoopbackSetCapacity(file *osFile) error { - err := dmLoopbackSetCapacity(file.Fd()) - if err != 0 { + if err := DmLoopbackSetCapacity(file.Fd()); err != 0 { return ErrLoopbackSetCapacity } return nil diff --git a/graphdriver/devmapper/devmapper_wrapper.go b/graphdriver/devmapper/devmapper_wrapper.go index 1f28412197..818c968bbf 100644 --- a/graphdriver/devmapper/devmapper_wrapper.go +++ b/graphdriver/devmapper/devmapper_wrapper.go @@ -148,26 +148,28 @@ type ( ) var ( - DmAttachLoopDevice = dmAttachLoopDeviceFct - DmGetBlockSize = dmGetBlockSizeFct - DmGetLibraryVersion = dmGetLibraryVersionFct - DmGetNextTarget = dmGetNextTargetFct - DmLogInitVerbose = dmLogInitVerboseFct - DmSetDevDir = dmSetDevDirFct - DmTaskAddTarget = dmTaskAddTargetFct - DmTaskCreate = dmTaskCreateFct - DmTaskDestroy = dmTaskDestroyFct - DmTaskGetInfo = dmTaskGetInfoFct - DmTaskRun = dmTaskRunFct - DmTaskSetAddNode = dmTaskSetAddNodeFct - DmTaskSetCookie = dmTaskSetCookieFct - DmTaskSetMessage = dmTaskSetMessageFct - DmTaskSetName = dmTaskSetNameFct - DmTaskSetRo = dmTaskSetRoFct - DmTaskSetSector = dmTaskSetSectorFct - DmUdevWait = dmUdevWaitFct - GetBlockSize = getBlockSizeFct - LogWithErrnoInit = logWithErrnoInitFct + DmAttachLoopDevice = dmAttachLoopDeviceFct + DmGetBlockSize = dmGetBlockSizeFct + DmGetLibraryVersion = dmGetLibraryVersionFct + DmGetNextTarget = dmGetNextTargetFct + DmLogInitVerbose = dmLogInitVerboseFct + DmSetDevDir = dmSetDevDirFct + DmTaskAddTarget = dmTaskAddTargetFct + DmTaskCreate = dmTaskCreateFct + DmTaskDestroy = dmTaskDestroyFct + DmTaskGetInfo = dmTaskGetInfoFct + DmTaskRun = dmTaskRunFct + DmTaskSetAddNode = dmTaskSetAddNodeFct + DmTaskSetCookie = dmTaskSetCookieFct + DmTaskSetMessage = dmTaskSetMessageFct + DmTaskSetName = dmTaskSetNameFct + DmTaskSetRo = dmTaskSetRoFct + DmTaskSetSector = dmTaskSetSectorFct + DmUdevWait = dmUdevWaitFct + GetBlockSize = getBlockSizeFct + LogWithErrnoInit = logWithErrnoInitFct + DmGetLoopbackBackingFile = dmGetLoopbackBackingFileFct + DmLoopbackSetCapacity = dmLoopbackSetCapacityFct ) func free(p *C.char) { @@ -238,14 +240,14 @@ func dmTaskAddTargetFct(task *CDmTask, 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 _, _, err := sysSyscall(sysSysIoctl, fd, C.LOOP_GET_STATUS64, uintptr(unsafe.Pointer(&lo64))) 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) return sysErrno(err) } diff --git a/graphdriver/driver.go b/graphdriver/driver.go index 211806e6c7..e44deb5a69 100644 --- a/graphdriver/driver.go +++ b/graphdriver/driver.go @@ -8,8 +8,6 @@ import ( "path" ) -var DefaultDriver string - type InitFunc func(root string) (Driver, error) type Driver interface { @@ -34,6 +32,7 @@ type Differ interface { } var ( + DefaultDriver string // All registred drivers drivers map[string]InitFunc // 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) } -func New(root string) (Driver, error) { - var driver Driver - var lastError error - - for _, name := range []string{ - os.Getenv("DOCKER_DRIVER"), - DefaultDriver, - } { +func New(root string) (driver Driver, err error) { + for _, name := range []string{os.Getenv("DOCKER_DRIVER"), DefaultDriver} { if name != "" { return GetDriver(name, root) } @@ -79,9 +72,8 @@ func New(root string) (Driver, error) { // Check for priority drivers first for _, name := range priority { - driver, lastError = GetDriver(name, root) - if lastError != nil { - utils.Debugf("Error loading driver %s: %s", name, lastError) + if driver, err = GetDriver(name, root); err != nil { + utils.Debugf("Error loading driver %s: %s", name, err) continue } return driver, nil @@ -89,11 +81,10 @@ func New(root string) (Driver, error) { // Check all registered drivers if no priority driver is found for _, initFunc := range drivers { - driver, lastError = initFunc(root) - if lastError != nil { + if driver, err = initFunc(root); err != nil { continue } return driver, nil } - return nil, lastError + return nil, err }