From 538ba846dd63b6fd1d78e83a395b83688d4c591c Mon Sep 17 00:00:00 2001 From: Kir Kolyshkin Date: Thu, 1 Jul 2021 10:54:58 -0700 Subject: [PATCH] libct/error.go: rm ConfigError ConfigError was added by commit e918d021399e62, while removing runc own error system, to preserve a way for a libcontainer user to distinguish between a configuration error and something else. The way ConfigError is implemented requires a different type of check (compared to all other errors defined by error.go). An attempt was made to rectify this, but the resulting code became even more complicated. As no one is using this functionality (of differentiating a "bad config" type of error from other errors), let's just drop the ConfigError type. Signed-off-by: Kir Kolyshkin --- libcontainer/container_linux.go | 2 +- libcontainer/error.go | 8 -------- libcontainer/factory_linux.go | 6 +++--- 3 files changed, 4 insertions(+), 12 deletions(-) diff --git a/libcontainer/container_linux.go b/libcontainer/container_linux.go index 21e77932526..3c080f7040a 100644 --- a/libcontainer/container_linux.go +++ b/libcontainer/container_linux.go @@ -231,7 +231,7 @@ func (c *linuxContainer) Start(process *Process) error { c.m.Lock() defer c.m.Unlock() if c.config.Cgroups.Resources.SkipDevices { - return &ConfigError{"can't start container with SkipDevices set"} + return errors.New("can't start container with SkipDevices set") } if process.Init { if err := c.createExecFifo(); err != nil { diff --git a/libcontainer/error.go b/libcontainer/error.go index bd5ad1f8bf7..510c072264f 100644 --- a/libcontainer/error.go +++ b/libcontainer/error.go @@ -11,11 +11,3 @@ var ( ErrNotRunning = errors.New("container not running") ErrNotPaused = errors.New("container not paused") ) - -type ConfigError struct { - details string -} - -func (e *ConfigError) Error() string { - return "invalid configuration: " + e.details -} diff --git a/libcontainer/factory_linux.go b/libcontainer/factory_linux.go index 63cf57b099b..6c1b48b9334 100644 --- a/libcontainer/factory_linux.go +++ b/libcontainer/factory_linux.go @@ -251,13 +251,13 @@ type LinuxFactory struct { func (l *LinuxFactory) Create(id string, config *configs.Config) (Container, error) { if l.Root == "" { - return nil, &ConfigError{"invalid root"} + return nil, errors.New("root not set") } if err := l.validateID(id); err != nil { return nil, err } if err := l.Validator.Validate(config); err != nil { - return nil, &ConfigError{err.Error()} + return nil, err } containerRoot, err := securejoin.SecureJoin(l.Root, id) if err != nil { @@ -294,7 +294,7 @@ func (l *LinuxFactory) Create(id string, config *configs.Config) (Container, err func (l *LinuxFactory) Load(id string) (Container, error) { if l.Root == "" { - return nil, &ConfigError{"invalid root"} + return nil, errors.New("root not set") } // when load, we need to check id is valid or not. if err := l.validateID(id); err != nil {