1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00

Refactor cpu-realtime file creation to remove duplication

Signed-off-by: Vincent Demeester <vincent@sbr.pm>
This commit is contained in:
Vincent Demeester 2017-02-28 11:12:06 +01:00
parent 2028d8698d
commit f7819fcb25
No known key found for this signature in database
GPG key ID: 083CC6FD6EB699A3
2 changed files with 12 additions and 10 deletions

View file

@ -1276,19 +1276,21 @@ func (daemon *Daemon) initCgroupsPath(path string) error {
path = filepath.Join(root, path) path = filepath.Join(root, path)
sysinfo := sysinfo.New(true) sysinfo := sysinfo.New(true)
if sysinfo.CPURealtimePeriod && daemon.configStore.CPURealtimePeriod != 0 { if err := maybeCreateCPURealTimeFile(sysinfo.CPURealtimePeriod, daemon.configStore.CPURealtimePeriod, "cpu.rt_period_us", path); err != nil {
if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) { return err
return err
}
if err := ioutil.WriteFile(filepath.Join(path, "cpu.rt_period_us"), []byte(strconv.FormatInt(daemon.configStore.CPURealtimePeriod, 10)), 0700); err != nil {
return err
}
} }
if sysinfo.CPURealtimeRuntime && daemon.configStore.CPURealtimeRuntime != 0 { if err := maybeCreateCPURealTimeFile(sysinfo.CPURealtimeRuntime, daemon.configStore.CPURealtimeRuntime, "cpu.rt_runtime_us", path); err != nil {
return err
}
return nil
}
func maybeCreateCPURealTimeFile(sysinfoPresent bool, configValue int64, file string, path string) error {
if sysinfoPresent && configValue != 0 {
if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) { if err := os.MkdirAll(path, 0755); err != nil && !os.IsExist(err) {
return err return err
} }
if err := ioutil.WriteFile(filepath.Join(path, "cpu.rt_runtime_us"), []byte(strconv.FormatInt(daemon.configStore.CPURealtimeRuntime, 10)), 0700); err != nil { if err := ioutil.WriteFile(filepath.Join(path, file), []byte(strconv.FormatInt(configValue, 10)), 0700); err != nil {
return err return err
} }
} }

View file

@ -56,4 +56,4 @@ func (c *RefCounter) incdec(path string, infoOp func(minfo *minfo)) int {
count := m.count count := m.count
c.mu.Unlock() c.mu.Unlock()
return count return count
} }