From 20cc8c8ee0e480287a3f5cf4a56c27aac73b34a7 Mon Sep 17 00:00:00 2001 From: Mauricio Garavaglia Date: Wed, 6 Jul 2016 19:09:47 -0300 Subject: [PATCH] Remove code duplication in VolumeStore Create CreateWithRef Signed-off-by: Mauricio Garavaglia Upstream-commit: b65d6927d48028834a7ff9ea8150225ca0d48920 Component: engine --- components/engine/volume/store/store.go | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/components/engine/volume/store/store.go b/components/engine/volume/store/store.go index acb049c760..9e2bd93d10 100644 --- a/components/engine/volume/store/store.go +++ b/components/engine/volume/store/store.go @@ -212,7 +212,6 @@ func (s *VolumeStore) list() ([]volume.Volume, []string, error) { } // CreateWithRef creates a volume with the given name and driver and stores the ref -// This is just like Create() except we store the reference while holding the lock. // This ensures there's no race between creating a volume and then storing a reference. func (s *VolumeStore) CreateWithRef(name, driverName, ref string, opts, labels map[string]string) (volume.Volume, error) { name = normaliseVolumeName(name) @@ -229,17 +228,9 @@ func (s *VolumeStore) CreateWithRef(name, driverName, ref string, opts, labels m } // Create creates a volume with the given name and driver. +// This is just like CreateWithRef() except we don't store a reference while holding the lock. func (s *VolumeStore) Create(name, driverName string, opts, labels map[string]string) (volume.Volume, error) { - name = normaliseVolumeName(name) - s.locks.Lock(name) - defer s.locks.Unlock(name) - - v, err := s.create(name, driverName, opts, labels) - if err != nil { - return nil, &OpErr{Err: err, Name: name, Op: "create"} - } - s.setNamed(v, "") - return v, nil + return s.CreateWithRef(name, driverName, "", opts, labels) } // create asks the given driver to create a volume with the name/opts.