diff options
author | OpenShift Merge Robot <openshift-merge-robot@users.noreply.github.com> | 2019-01-06 23:16:55 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-01-06 23:16:55 -0800 |
commit | 1e4db4b0b8504e93e826d02b6c03cf78f41dcf7a (patch) | |
tree | 6efd8b7d8baf3344412b9d23b875cca1dbddccf4 | |
parent | b83b07cb4748f983c21b08b2ba015561cf664989 (diff) | |
parent | a76256834a0a409dfb53943e04fd2458c7782361 (diff) | |
download | podman-1e4db4b0b8504e93e826d02b6c03cf78f41dcf7a.tar.gz podman-1e4db4b0b8504e93e826d02b6c03cf78f41dcf7a.tar.bz2 podman-1e4db4b0b8504e93e826d02b6c03cf78f41dcf7a.zip |
Merge pull request #2089 from rhatdan/locks
Rootless with shmlocks was not working.
-rw-r--r-- | libpod/lock/shm/shm_lock.go | 4 | ||||
-rw-r--r-- | libpod/runtime.go | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/libpod/lock/shm/shm_lock.go b/libpod/lock/shm/shm_lock.go index 3372a8c71..be5e5148f 100644 --- a/libpod/lock/shm/shm_lock.go +++ b/libpod/lock/shm/shm_lock.go @@ -48,7 +48,7 @@ func CreateSHMLock(path string, numLocks uint32) (*SHMLocks, error) { lockStruct := C.setup_lock_shm(cPath, C.uint32_t(numLocks), &errCode) if lockStruct == nil { // We got a null pointer, so something errored - return nil, syscall.Errno(-1 * errCode) + return nil, errors.Wrapf(syscall.Errno(-1*errCode), "failed to create %d locks in %s", numLocks, path) } locks.lockStruct = lockStruct @@ -77,7 +77,7 @@ func OpenSHMLock(path string, numLocks uint32) (*SHMLocks, error) { lockStruct := C.open_lock_shm(cPath, C.uint32_t(numLocks), &errCode) if lockStruct == nil { // We got a null pointer, so something errored - return nil, syscall.Errno(-1 * errCode) + return nil, errors.Wrapf(syscall.Errno(-1*errCode), "failed to open %d locks in %s", numLocks, path) } locks.lockStruct = lockStruct diff --git a/libpod/runtime.go b/libpod/runtime.go index fcc1c6d82..ab8d02a4f 100644 --- a/libpod/runtime.go +++ b/libpod/runtime.go @@ -1,6 +1,7 @@ package libpod import ( + "fmt" "io/ioutil" "os" "os/exec" @@ -695,7 +696,7 @@ func makeRuntime(runtime *Runtime) (err error) { var manager lock.Manager lockPath := DefaultSHMLockPath if rootless.IsRootless() { - lockPath = DefaultRootlessSHMLockPath + lockPath = fmt.Sprintf("%s_%d", DefaultRootlessSHMLockPath, rootless.GetRootlessUID()) } if doRefresh { // If SHM locks already exist, delete them and reinitialize @@ -705,12 +706,12 @@ func makeRuntime(runtime *Runtime) (err error) { manager, err = lock.NewSHMLockManager(lockPath, runtime.config.NumLocks) if err != nil { - return errors.Wrapf(err, "error creating SHM locks for libpod") + return err } } else { manager, err = lock.OpenSHMLockManager(lockPath, runtime.config.NumLocks) if err != nil { - return errors.Wrapf(err, "error opening libpod SHM locks") + return err } } runtime.lockManager = manager |