@@ -196,17 +196,8 @@ func (m *Manager) Set(container *configs.Config) error {
196196 return nil
197197 }
198198 for _ , sys := range subsystems {
199- // Generate fake cgroup data.
200- d , err := getCgroupData (container .Cgroups , - 1 )
201- if err != nil {
202- return err
203- }
204- // Get the path, but don't error out if the cgroup wasn't found.
205- path , err := d .path (sys .Name ())
206- if err != nil && ! cgroups .IsNotFound (err ) {
207- return err
208- }
209-
199+ paths := m .GetPaths ()
200+ path := paths [sys .Name ()]
210201 if err := sys .Set (path , container .Cgroups ); err != nil {
211202 return err
212203 }
@@ -223,14 +214,8 @@ func (m *Manager) Set(container *configs.Config) error {
223214// Freeze toggles the container's freezer cgroup depending on the state
224215// provided
225216func (m * Manager ) Freeze (state configs.FreezerState ) error {
226- d , err := getCgroupData (m .Cgroups , 0 )
227- if err != nil {
228- return err
229- }
230- dir , err := d .path ("freezer" )
231- if err != nil {
232- return err
233- }
217+ paths := m .GetPaths ()
218+ dir := paths ["freezer" ]
234219 prevState := m .Cgroups .Resources .Freezer
235220 m .Cgroups .Resources .Freezer = state
236221 freezer , err := subsystems .Get ("freezer" )
@@ -246,28 +231,13 @@ func (m *Manager) Freeze(state configs.FreezerState) error {
246231}
247232
248233func (m * Manager ) GetPids () ([]int , error ) {
249- dir , err := getCgroupPath (m .Cgroups )
250- if err != nil {
251- return nil , err
252- }
253- return cgroups .GetPids (dir )
234+ paths := m .GetPaths ()
235+ return cgroups .GetPids (paths ["devices" ])
254236}
255237
256238func (m * Manager ) GetAllPids () ([]int , error ) {
257- dir , err := getCgroupPath (m .Cgroups )
258- if err != nil {
259- return nil , err
260- }
261- return cgroups .GetAllPids (dir )
262- }
263-
264- func getCgroupPath (c * configs.Cgroup ) (string , error ) {
265- d , err := getCgroupData (c , 0 )
266- if err != nil {
267- return "" , err
268- }
269-
270- return d .path ("devices" )
239+ paths := m .GetPaths ()
240+ return cgroups .GetAllPids (paths ["devices" ])
271241}
272242
273243func getCgroupData (c * configs.Cgroup , pid int ) (* cgroupData , error ) {
0 commit comments