Remove locks
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2023-05-26 14:08:02 +02:00
parent 56b95c0604
commit a09eb5ee55

36
main.go
View File

@@ -22,7 +22,6 @@ import (
"os/user"
"path/filepath"
"strconv"
"sync"
"time"
"github.com/docker/go-plugins-helpers/volume"
@@ -40,7 +39,7 @@ type ofsVolume struct {
}
type ofsDriver struct {
sync.RWMutex
//sync.RWMutex
volumes map[string]*ofsVolume
defEnv map[string]string
}
@@ -49,8 +48,8 @@ var version = "1.0"
func (d ofsDriver) Create(r *volume.CreateRequest) error {
log.WithFields(log.Fields{"name": r.Name}).Info("Create ObjectiveFS Volume")
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
if _, ok := d.volumes[r.Name]; ok {
return fmt.Errorf("volume '%s' already exists", r.Name)
@@ -85,8 +84,8 @@ func (d ofsDriver) Create(r *volume.CreateRequest) error {
}
func (d ofsDriver) List() (*volume.ListResponse, error) {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
var vs []*volume.Volume
for _, v := range d.volumes {
@@ -96,8 +95,8 @@ func (d ofsDriver) List() (*volume.ListResponse, error) {
}
func (d ofsDriver) Get(r *volume.GetRequest) (*volume.GetResponse, error) {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
v, ok := d.volumes[r.Name]
if !ok {
@@ -122,8 +121,8 @@ func umount(v *ofsVolume) error {
}
func (d ofsDriver) Remove(r *volume.RemoveRequest) error {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
v, ok := d.volumes[r.Name]
if !ok {
@@ -140,8 +139,8 @@ func (d ofsDriver) Remove(r *volume.RemoveRequest) error {
}
func (d ofsDriver) Path(r *volume.PathRequest) (*volume.PathResponse, error) {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
v, ok := d.volumes[r.Name]
if !ok {
@@ -151,8 +150,8 @@ func (d ofsDriver) Path(r *volume.PathRequest) (*volume.PathResponse, error) {
}
func (d ofsDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, error) {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
v, ok := d.volumes[r.Name]
if !ok {
@@ -197,6 +196,7 @@ func (d ofsDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, error)
// to initially connect. So we just wait a fixed amount of time and check for process exit.
time.Sleep(1 * time.Second)
if cmd.ProcessState.Exited() {
log.WithFields(log.Fields{"name": r.Name, "exitStatus": cmd.ProcessState.ExitCode()}).Error("Volume mount failed")
return &volume.MountResponse{}, fmt.Errorf("unexpected error mounting '%s' exist status: %v", r.Name, cmd.ProcessState.ExitCode())
}
@@ -208,8 +208,8 @@ func (d ofsDriver) Mount(r *volume.MountRequest) (*volume.MountResponse, error)
}
func (d ofsDriver) Unmount(r *volume.UnmountRequest) error {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
v, ok := d.volumes[r.Name]
if !ok {
@@ -226,8 +226,8 @@ func (d ofsDriver) Unmount(r *volume.UnmountRequest) error {
}
func (d ofsDriver) Capabilities() *volume.CapabilitiesResponse {
d.Lock()
defer d.Unlock()
//d.Lock()
//defer d.Unlock()
return &volume.CapabilitiesResponse{Capabilities: volume.Capability{Scope: "local"}}
}