Преглед изворни кода

Fix oom kill disable issue

It should not be hard limit, we should only check oom kill disable
when user using it.

Signed-off-by: Qiang Huang <h.huangqiang@huawei.com>
Qiang Huang пре 10 година
родитељ
комит
a2f39e7754
2 измењених фајлова са 4 додато и 5 уклоњено
  1. 0 5
      daemon/create.go
  2. 4 0
      daemon/daemon.go

+ 0 - 5
daemon/create.go

@@ -24,11 +24,6 @@ func (daemon *Daemon) ContainerCreate(name string, config *runconfig.Config, hos
 		return "", warnings, fmt.Errorf("The working directory '%s' is invalid. It needs to be an absolute path.", config.WorkingDir)
 		return "", warnings, fmt.Errorf("The working directory '%s' is invalid. It needs to be an absolute path.", config.WorkingDir)
 	}
 	}
 
 
-	if !daemon.SystemConfig().OomKillDisable {
-		hostConfig.OomKillDisable = false
-		return "", warnings, fmt.Errorf("Your kernel does not support oom kill disable.")
-	}
-
 	container, buildWarnings, err := daemon.Create(config, hostConfig, name)
 	container, buildWarnings, err := daemon.Create(config, hostConfig, name)
 	if err != nil {
 	if err != nil {
 		if daemon.Graph().IsNotExist(err, config.Image) {
 		if daemon.Graph().IsNotExist(err, config.Image) {

+ 4 - 0
daemon/daemon.go

@@ -1181,6 +1181,10 @@ func (daemon *Daemon) verifyHostConfig(hostConfig *runconfig.HostConfig) ([]stri
 	if hostConfig.BlkioWeight > 0 && (hostConfig.BlkioWeight < 10 || hostConfig.BlkioWeight > 1000) {
 	if hostConfig.BlkioWeight > 0 && (hostConfig.BlkioWeight < 10 || hostConfig.BlkioWeight > 1000) {
 		return warnings, fmt.Errorf("Range of blkio weight is from 10 to 1000.")
 		return warnings, fmt.Errorf("Range of blkio weight is from 10 to 1000.")
 	}
 	}
+	if hostConfig.OomKillDisable && !daemon.SystemConfig().OomKillDisable {
+		hostConfig.OomKillDisable = false
+		return warnings, fmt.Errorf("Your kernel does not support oom kill disable.")
+	}
 
 
 	return warnings, nil
 	return warnings, nil
 }
 }