@@ -289,33 +289,32 @@ func getSubsystemPath(c *configs.Cgroup, subsystem string) (string, error) {
289289}
290290
291291func (m * legacyManager ) Freeze (state configs.FreezerState ) error {
292- path , err := getSubsystemPath ( m . cgroups , "freezer" )
293- if err != nil {
294- return err
292+ path , ok := m . paths [ "freezer" ]
293+ if ! ok {
294+ return errSubsystemDoesNotExist
295295 }
296296 prevState := m .cgroups .Resources .Freezer
297297 m .cgroups .Resources .Freezer = state
298298 freezer := & fs.FreezerGroup {}
299- err = freezer .Set (path , m .cgroups )
300- if err != nil {
299+ if err := freezer .Set (path , m .cgroups ); err != nil {
301300 m .cgroups .Resources .Freezer = prevState
302301 return err
303302 }
304303 return nil
305304}
306305
307306func (m * legacyManager ) GetPids () ([]int , error ) {
308- path , err := getSubsystemPath ( m . cgroups , "devices" )
309- if err != nil {
310- return nil , err
307+ path , ok := m . paths [ "devices" ]
308+ if ! ok {
309+ return nil , errSubsystemDoesNotExist
311310 }
312311 return cgroups .GetPids (path )
313312}
314313
315314func (m * legacyManager ) GetAllPids () ([]int , error ) {
316- path , err := getSubsystemPath ( m . cgroups , "devices" )
317- if err != nil {
318- return nil , err
315+ path , ok := m . paths [ "devices" ]
316+ if ! ok {
317+ return nil , errSubsystemDoesNotExist
319318 }
320319 return cgroups .GetAllPids (path )
321320}
@@ -386,9 +385,9 @@ func (m *legacyManager) Set(container *configs.Config) error {
386385
387386 for _ , sys := range legacySubsystems {
388387 // Get the subsystem path, but don't error out for not found cgroups.
389- path , err := getSubsystemPath ( container . Cgroups , sys .Name ())
390- if err != nil && ! cgroups . IsNotFound ( err ) {
391- return err
388+ path , ok := m . paths [ sys .Name ()]
389+ if ! ok {
390+ continue
392391 }
393392 if err := sys .Set (path , container .Cgroups ); err != nil {
394393 return err
@@ -430,9 +429,9 @@ func (m *legacyManager) GetCgroups() (*configs.Cgroup, error) {
430429}
431430
432431func (m * legacyManager ) GetFreezerState () (configs.FreezerState , error ) {
433- path , err := getSubsystemPath ( m . cgroups , "freezer" )
434- if err != nil && ! cgroups . IsNotFound ( err ) {
435- return configs .Undefined , err
432+ path , ok := m . paths [ "freezer" ]
433+ if ! ok {
434+ return configs .Undefined , nil
436435 }
437436 freezer := & fs.FreezerGroup {}
438437 return freezer .GetState (path )
0 commit comments