Merge pull request #10633 from hqhq/hq_fix_memoryswap

fix the problem that memory-swap=-1 is not working for docker command
This commit is contained in:
Michael Crosby 2015-02-16 10:49:01 -08:00
commit 73665ff5f2
2 changed files with 21 additions and 4 deletions

View File

@ -60,6 +60,19 @@ func TestRunEchoStdoutWithMemoryLimit(t *testing.T) {
logDone("run - echo with memory limit")
}
// should run without memory swap
func TestRunWithoutMemoryswapLimit(t *testing.T) {
runCmd := exec.Command(dockerBinary, "run", "-m", "16m", "--memory-swap", "-1", "busybox", "true")
out, _, err := runCommandWithOutput(runCmd)
if err != nil {
t.Fatalf("failed to run container, output: %q", out)
}
deleteAllContainers()
logDone("run - without memory swap limit")
}
// "test" should be printed
func TestRunEchoStdoutWitCPULimit(t *testing.T) {
runCmd := exec.Command(dockerBinary, "run", "-c", "1000", "busybox", "echo", "test")

View File

@ -140,11 +140,15 @@ func Parse(cmd *flag.FlagSet, args []string) (*Config, *HostConfig, *flag.FlagSe
var MemorySwap int64
if *flMemorySwap != "" {
parsedMemorySwap, err := units.RAMInBytes(*flMemorySwap)
if err != nil {
return nil, nil, cmd, err
if *flMemorySwap == "-1" {
MemorySwap = -1
} else {
parsedMemorySwap, err := units.RAMInBytes(*flMemorySwap)
if err != nil {
return nil, nil, cmd, err
}
MemorySwap = parsedMemorySwap
}
MemorySwap = parsedMemorySwap
}
var binds []string