فهرست منبع

Merge pull request #6183 from crosbymichael/fix-freezer-fs

Don't rejoin the freezer cgroup each time
Victor Vieux 11 سال پیش
والد
کامیت
2c27e6e9ab
1فایلهای تغییر یافته به همراه8 افزوده شده و 6 حذف شده
  1. 8 6
      pkg/libcontainer/cgroups/fs/freezer.go

+ 8 - 6
pkg/libcontainer/cgroups/fs/freezer.go

@@ -12,18 +12,20 @@ type freezerGroup struct {
 }
 
 func (s *freezerGroup) Set(d *data) error {
-	dir, err := d.join("freezer")
-	if err != nil {
-		if err != cgroups.ErrNotFound {
+	switch d.c.Freezer {
+	case cgroups.Frozen, cgroups.Thawed:
+		dir, err := d.path("freezer")
+		if err != nil {
 			return err
 		}
-		return nil
-	}
 
-	if d.c.Freezer != cgroups.Undefined {
 		if err := writeFile(dir, "freezer.state", string(d.c.Freezer)); err != nil {
 			return err
 		}
+	default:
+		if _, err := d.join("freezer"); err != nil && err != cgroups.ErrNotFound {
+			return err
+		}
 	}
 
 	return nil