mirror of https://github.com/docker/docs.git
Allow loopback and base fs sizes set by env var
This commit is contained in:
parent
b440ec0136
commit
c3f1bb3287
|
|
@ -12,11 +12,11 @@ import (
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strconv"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"syscall"
|
|
||||||
"sync"
|
"sync"
|
||||||
|
"syscall"
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
var (
|
||||||
defaultDataLoopbackSize int64 = 100 * 1024 * 1024 * 1024
|
defaultDataLoopbackSize int64 = 100 * 1024 * 1024 * 1024
|
||||||
defaultMetaDataLoopbackSize int64 = 2 * 1024 * 1024 * 1024
|
defaultMetaDataLoopbackSize int64 = 2 * 1024 * 1024 * 1024
|
||||||
defaultBaseFsSize uint64 = 10 * 1024 * 1024 * 1024
|
defaultBaseFsSize uint64 = 10 * 1024 * 1024 * 1024
|
||||||
|
|
@ -47,6 +47,30 @@ type DeviceSetDM struct {
|
||||||
activeMounts map[string]int
|
activeMounts map[string]int
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
var err error
|
||||||
|
|
||||||
|
rawMetaSize := os.Getenv("DOCKER_LOOPBACK_META_SIZE")
|
||||||
|
rawDataSize := os.Getenv("DOCKER_LOOPBACK_DATA_SIZE")
|
||||||
|
rawBaseFSSize := os.Getenv("DOCKER_BASE_FS_SIZE")
|
||||||
|
|
||||||
|
if rawMetaSize != "" {
|
||||||
|
if defaultMetaDataLoopbackSize, err = strconv.ParseInt(rawMetaSize, 0, 0); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if rawDataSize != "" {
|
||||||
|
if defaultDataLoopbackSize, err = strconv.ParseInt(rawDataSize, 0, 0); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if rawBaseFSSize != "" {
|
||||||
|
if defaultBaseFsSize, err = strconv.ParseUint(rawBaseFSSize, 0, 0); err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func getDevName(name string) string {
|
func getDevName(name string) string {
|
||||||
return "/dev/mapper/" + name
|
return "/dev/mapper/" + name
|
||||||
}
|
}
|
||||||
|
|
@ -317,7 +341,7 @@ func setCloseOnExec(name string) {
|
||||||
if fileInfos != nil {
|
if fileInfos != nil {
|
||||||
for _, i := range fileInfos {
|
for _, i := range fileInfos {
|
||||||
link, _ := os.Readlink(filepath.Join("/proc/self/fd", i.Name()))
|
link, _ := os.Readlink(filepath.Join("/proc/self/fd", i.Name()))
|
||||||
if link == name {
|
if link == name {
|
||||||
fd, err := strconv.Atoi(i.Name())
|
fd, err := strconv.Atoi(i.Name())
|
||||||
if err == nil {
|
if err == nil {
|
||||||
syscall.CloseOnExec(fd)
|
syscall.CloseOnExec(fd)
|
||||||
|
|
@ -327,7 +351,7 @@ func setCloseOnExec(name string) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (devices *DeviceSetDM) log(level int, file string, line int, dmError int, message string) {
|
func (devices *DeviceSetDM) log(level int, file string, line int, dmError int, message string) {
|
||||||
if level >= 7 {
|
if level >= 7 {
|
||||||
return // Ignore _LOG_DEBUG
|
return // Ignore _LOG_DEBUG
|
||||||
}
|
}
|
||||||
|
|
@ -335,7 +359,6 @@ func (devices *DeviceSetDM) log(level int, file string, line int, dmError int, m
|
||||||
utils.Debugf("libdevmapper(%d): %s:%d (%d) %s", level, file, line, dmError, message)
|
utils.Debugf("libdevmapper(%d): %s:%d (%d) %s", level, file, line, dmError, message)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (devices *DeviceSetDM) initDevmapper() error {
|
func (devices *DeviceSetDM) initDevmapper() error {
|
||||||
logInit(devices)
|
logInit(devices)
|
||||||
|
|
||||||
|
|
@ -495,7 +518,6 @@ func (devices *DeviceSetDM) RemoveDevice(hash string) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
return devices.removeDevice(hash)
|
return devices.removeDevice(hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -530,10 +552,9 @@ func (devices *DeviceSetDM) DeactivateDevice(hash string) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
utils.Debugf("DeactivateDevice %s", hash)
|
utils.Debugf("DeactivateDevice %s", hash)
|
||||||
return devices.deactivateDevice(hash);
|
return devices.deactivateDevice(hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
func (devices *DeviceSetDM) Shutdown() error {
|
func (devices *DeviceSetDM) Shutdown() error {
|
||||||
devices.Lock()
|
devices.Lock()
|
||||||
defer devices.Unlock()
|
defer devices.Unlock()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue