Merge pull request #25872 from coolljt0725/fix_25870

Persist pause state to disk to support container live restore
This commit is contained in:
Brian Goff 2016-08-22 12:18:01 -04:00 committed by GitHub
commit 374caa98d8
2 changed files with 6 additions and 1 deletions

View file

@ -210,7 +210,6 @@ func (s *State) SetExitCode(ec int) {
func (s *State) SetRunning(pid int, initial bool) {
s.error = ""
s.Running = true
s.Paused = false
s.Restarting = false
s.exitCode = 0
s.Pid = pid

View file

@ -99,11 +99,17 @@ func (daemon *Daemon) StateChanged(id string, e libcontainerd.StateInfo) error {
case libcontainerd.StatePause:
// Container is already locked in this case
c.Paused = true
if err := c.ToDisk(); err != nil {
return err
}
daemon.updateHealthMonitor(c)
daemon.LogContainerEvent(c, "pause")
case libcontainerd.StateResume:
// Container is already locked in this case
c.Paused = false
if err := c.ToDisk(); err != nil {
return err
}
daemon.updateHealthMonitor(c)
daemon.LogContainerEvent(c, "unpause")
}