Don't try to read freezer.state from the current directory
If we try to pause a container on the system without freezer cgroups, we can found that runc tries to open ./freezer.state. It is obviously wrong. $ ./runc pause test no such directory for freezer.state $ echo FROZEN > freezer.state $ ./runc pause test container not running or created: paused Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
parent
ef9a4b3155
commit
88256d646d
|
@ -1284,7 +1284,12 @@ func (c *linuxContainer) runType() (Status, error) {
|
|||
}
|
||||
|
||||
func (c *linuxContainer) isPaused() (bool, error) {
|
||||
data, err := ioutil.ReadFile(filepath.Join(c.cgroupManager.GetPaths()["freezer"], "freezer.state"))
|
||||
fcg := c.cgroupManager.GetPaths()["freezer"]
|
||||
if fcg == "" {
|
||||
// A container doesn't have a freezer cgroup
|
||||
return false, nil
|
||||
}
|
||||
data, err := ioutil.ReadFile(filepath.Join(fcg, "freezer.state"))
|
||||
if err != nil {
|
||||
// If freezer cgroup is not mounted, the container would just be not paused.
|
||||
if os.IsNotExist(err) {
|
||||
|
|
Loading…
Reference in New Issue