Skip to content

Commit 19f9fc3

Browse files
committed
Replace os.Is* error checking functions with their errors.Is counterpart
Signed-off-by: Curd Becker <me@curd-becker.de>
1 parent 9830cbb commit 19f9fc3

File tree

14 files changed

+38
-34
lines changed

14 files changed

+38
-34
lines changed

libcontainer/configs/validate/validator.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func security(config *configs.Config) error {
142142

143143
func namespaces(config *configs.Config) error {
144144
if config.Namespaces.Contains(configs.NEWUSER) {
145-
if _, err := os.Stat("/proc/self/ns/user"); os.IsNotExist(err) {
145+
if _, err := os.Stat("/proc/self/ns/user"); errors.Is(err, os.ErrNotExist) {
146146
return errors.New("user namespaces aren't enabled in the kernel")
147147
}
148148
hasPath := config.Namespaces.PathOf(configs.NEWUSER) != ""
@@ -160,13 +160,13 @@ func namespaces(config *configs.Config) error {
160160
}
161161

162162
if config.Namespaces.Contains(configs.NEWCGROUP) {
163-
if _, err := os.Stat("/proc/self/ns/cgroup"); os.IsNotExist(err) {
163+
if _, err := os.Stat("/proc/self/ns/cgroup"); errors.Is(err, os.ErrNotExist) {
164164
return errors.New("cgroup namespaces aren't enabled in the kernel")
165165
}
166166
}
167167

168168
if config.Namespaces.Contains(configs.NEWTIME) {
169-
if _, err := os.Stat("/proc/self/timens_offsets"); os.IsNotExist(err) {
169+
if _, err := os.Stat("/proc/self/timens_offsets"); errors.Is(err, os.ErrNotExist) {
170170
return errors.New("time namespaces aren't enabled in the kernel")
171171
}
172172
hasPath := config.Namespaces.PathOf(configs.NEWTIME) != ""

libcontainer/configs/validate/validator_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package validate
22

33
import (
4+
"errors"
45
"os"
56
"path/filepath"
67
"strings"
@@ -172,7 +173,7 @@ func TestValidateSecurityWithoutNEWNS(t *testing.T) {
172173
}
173174

174175
func TestValidateUserNamespace(t *testing.T) {
175-
if _, err := os.Stat("/proc/self/ns/user"); os.IsNotExist(err) {
176+
if _, err := os.Stat("/proc/self/ns/user"); errors.Is(err, os.ErrNotExist) {
176177
t.Skip("Test requires userns.")
177178
}
178179
config := &configs.Config{
@@ -206,7 +207,7 @@ func TestValidateUsernsMappingWithoutNamespace(t *testing.T) {
206207
}
207208

208209
func TestValidateTimeNamespace(t *testing.T) {
209-
if _, err := os.Stat("/proc/self/ns/time"); os.IsNotExist(err) {
210+
if _, err := os.Stat("/proc/self/ns/time"); errors.Is(err, os.ErrNotExist) {
210211
t.Skip("Test requires timens.")
211212
}
212213
config := &configs.Config{
@@ -225,7 +226,7 @@ func TestValidateTimeNamespace(t *testing.T) {
225226
}
226227

227228
func TestValidateTimeNamespaceWithBothPathAndTimeOffset(t *testing.T) {
228-
if _, err := os.Stat("/proc/self/ns/time"); os.IsNotExist(err) {
229+
if _, err := os.Stat("/proc/self/ns/time"); errors.Is(err, os.ErrNotExist) {
229230
t.Skip("Test requires timens.")
230231
}
231232
config := &configs.Config{
@@ -1020,7 +1021,7 @@ func TestValidateNetDevices(t *testing.T) {
10201021
}
10211022

10221023
func TestValidateUserSysctlWithUserNamespace(t *testing.T) {
1023-
if _, err := os.Stat("/proc/self/ns/user"); os.IsNotExist(err) {
1024+
if _, err := os.Stat("/proc/self/ns/user"); errors.Is(err, os.ErrNotExist) {
10241025
t.Skip("Test requires userns.")
10251026
}
10261027
config := &configs.Config{

libcontainer/container_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -295,7 +295,7 @@ func handleFifoResult(result openResult) error {
295295
return err
296296
}
297297
err := os.Remove(f.Name())
298-
if err == nil || os.IsNotExist(err) {
298+
if err == nil || errors.Is(err, os.ErrNotExist) {
299299
return nil
300300
}
301301
return err

libcontainer/criu_linux.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ func (c *Container) addMaskPaths(req *criurpc.CriuReq) error {
125125
for _, path := range c.config.MaskPaths {
126126
fi, err := os.Stat(fmt.Sprintf("/proc/%d/root/%s", c.initProcess.pid(), path))
127127
if err != nil {
128-
if os.IsNotExist(err) {
128+
if errors.Is(err, os.ErrNotExist) {
129129
continue
130130
}
131131
return err
@@ -318,7 +318,7 @@ func (c *Container) Checkpoint(criuOpts *CriuOpts) error {
318318

319319
// Since a container can be C/R'ed multiple times,
320320
// the checkpoint directory may already exist.
321-
if err := os.Mkdir(criuOpts.ImagesDirectory, 0o700); err != nil && !os.IsExist(err) {
321+
if err := os.Mkdir(criuOpts.ImagesDirectory, 0o700); err != nil && !errors.Is(err, os.ErrExist) {
322322
return err
323323
}
324324

@@ -353,7 +353,7 @@ func (c *Container) Checkpoint(criuOpts *CriuOpts) error {
353353

354354
// if criuOpts.WorkDirectory is not set, criu default is used.
355355
if criuOpts.WorkDirectory != "" {
356-
if err := os.Mkdir(criuOpts.WorkDirectory, 0o700); err != nil && !os.IsExist(err) {
356+
if err := os.Mkdir(criuOpts.WorkDirectory, 0o700); err != nil && !errors.Is(err, os.ErrExist) {
357357
return err
358358
}
359359
workDir, err := os.Open(criuOpts.WorkDirectory)
@@ -718,7 +718,7 @@ func (c *Container) Restore(process *Process, criuOpts *CriuOpts) error {
718718
if criuOpts.WorkDirectory != "" {
719719
// Since a container can be C/R'ed multiple times,
720720
// the work directory may already exist.
721-
if err := os.Mkdir(criuOpts.WorkDirectory, 0o700); err != nil && !os.IsExist(err) {
721+
if err := os.Mkdir(criuOpts.WorkDirectory, 0o700); err != nil && !errors.Is(err, os.ErrExist) {
722722
return err
723723
}
724724
workDir, err := os.Open(criuOpts.WorkDirectory)
@@ -1169,7 +1169,7 @@ func (c *Container) criuNotifications(resp *criurpc.CriuResp, process *Process,
11691169
return err
11701170
}
11711171
if err := os.Remove(filepath.Join(c.stateDir, "checkpoint")); err != nil {
1172-
if !os.IsNotExist(err) {
1172+
if !errors.Is(err, os.ErrNotExist) {
11731173
logrus.Error(err)
11741174
}
11751175
}

libcontainer/devices/device_unix.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ func GetDevices(path string) ([]*Device, error) {
9898
if errors.Is(err, ErrNotADevice) {
9999
continue
100100
}
101-
if os.IsNotExist(err) {
101+
if errors.Is(err, os.ErrNotExist) {
102102
continue
103103
}
104104
return nil, err

libcontainer/factory_linux.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func Create(root, id string, config *configs.Config) (*Container, error) {
5151
}
5252
if _, err := os.Stat(stateDir); err == nil {
5353
return nil, ErrExist
54-
} else if !os.IsNotExist(err) {
54+
} else if !errors.Is(err, os.ErrNotExist) {
5555
return nil, err
5656
}
5757

@@ -154,7 +154,7 @@ func loadState(root string) (*State, error) {
154154
}
155155
f, err := os.Open(stateFilePath)
156156
if err != nil {
157-
if os.IsNotExist(err) {
157+
if errors.Is(err, os.ErrNotExist) {
158158
return nil, ErrNotExist
159159
}
160160
return nil, err

libcontainer/integration/exec_test.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package integration
33
import (
44
"bytes"
55
"encoding/json"
6+
"errors"
67
"fmt"
78
"os"
89
"os/exec"
@@ -1093,7 +1094,7 @@ func TestHook(t *testing.T) {
10931094

10941095
for _, hook := range []string{"prestart", "createRuntime", "poststart"} {
10951096
fi, err := os.Stat(filepath.Join(config.Rootfs, hook))
1096-
if err == nil || !os.IsNotExist(err) {
1097+
if err == nil || !errors.Is(err, os.ErrNotExist) {
10971098
t.Fatalf("expected file '%s to not exists, but it does", fi.Name())
10981099
}
10991100
}
@@ -1637,7 +1638,7 @@ func TestTmpfsCopyUp(t *testing.T) {
16371638
}
16381639

16391640
func TestCGROUPPrivate(t *testing.T) {
1640-
if _, err := os.Stat("/proc/self/ns/cgroup"); os.IsNotExist(err) {
1641+
if _, err := os.Stat("/proc/self/ns/cgroup"); errors.Is(err, os.ErrNotExist) {
16411642
t.Skip("Test requires cgroupns.")
16421643
}
16431644
if testing.Short() {
@@ -1657,7 +1658,7 @@ func TestCGROUPPrivate(t *testing.T) {
16571658
}
16581659

16591660
func TestCGROUPHost(t *testing.T) {
1660-
if _, err := os.Stat("/proc/self/ns/cgroup"); os.IsNotExist(err) {
1661+
if _, err := os.Stat("/proc/self/ns/cgroup"); errors.Is(err, os.ErrNotExist) {
16611662
t.Skip("Test requires cgroupns.")
16621663
}
16631664
if testing.Short() {

libcontainer/intelrdt/intelrdt.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -460,7 +460,7 @@ func (m *Manager) Apply(pid int) (err error) {
460460
}
461461
}
462462

463-
if err := os.Mkdir(path, 0o755); err != nil && !os.IsExist(err) {
463+
if err := os.Mkdir(path, 0o755); err != nil && !errors.Is(err, os.ErrExist) {
464464
return newLastCmdError(err)
465465
}
466466

@@ -470,7 +470,7 @@ func (m *Manager) Apply(pid int) (err error) {
470470

471471
// Create MON group
472472
if monPath := m.GetMonPath(); monPath != "" {
473-
if err := os.Mkdir(monPath, 0o755); err != nil && !os.IsExist(err) {
473+
if err := os.Mkdir(monPath, 0o755); err != nil && !errors.Is(err, os.ErrExist) {
474474
return newLastCmdError(err)
475475
}
476476
if err := WriteIntelRdtTasks(monPath, pid); err != nil {
@@ -493,14 +493,14 @@ func (m *Manager) Destroy() error {
493493
if m.config.IntelRdt.ClosID == "" {
494494
m.mu.Lock()
495495
defer m.mu.Unlock()
496-
if err := os.Remove(m.GetPath()); err != nil && !os.IsNotExist(err) {
496+
if err := os.Remove(m.GetPath()); err != nil && !errors.Is(err, os.ErrNotExist) {
497497
return err
498498
}
499499
m.path = ""
500500
} else if monPath := m.GetMonPath(); monPath != "" {
501501
// If ClosID is not specified the possible monintoring group was
502502
// removed with the CLOS above.
503-
if err := os.Remove(monPath); err != nil && !os.IsNotExist(err) {
503+
if err := os.Remove(monPath); err != nil && !errors.Is(err, os.ErrNotExist) {
504504
return err
505505
}
506506
}

libcontainer/notify_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ func registerMemoryEvent(cgDir, evName, arg string) (<-chan struct{}, error) {
5151
}
5252
// When a cgroup is destroyed, an event is sent to eventfd.
5353
// So if the control path is gone, return instead of notifying.
54-
if _, err := os.Lstat(eventControlPath); os.IsNotExist(err) {
54+
if _, err := os.Lstat(eventControlPath); errors.Is(err, os.ErrNotExist) {
5555
return
5656
}
5757
ch <- struct{}{}

libcontainer/process_linux.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1103,7 +1103,7 @@ func getPipeFds(pid int) ([]string, error) {
11031103
// Ignore permission errors, for rootless containers and other
11041104
// non-dumpable processes. if we can't get the fd for a particular
11051105
// file, there's not much we can do.
1106-
if os.IsPermission(err) {
1106+
if errors.Is(err, os.ErrPermission) {
11071107
continue
11081108
}
11091109
return fds, err

0 commit comments

Comments
 (0)