From 123b0cc2dfe32764651b02f08d5c9d7594434813 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Fri, 19 Jul 2013 20:38:00 -0700 Subject: [PATCH] fix for issue #35 --- go/storage/store.go | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/go/storage/store.go b/go/storage/store.go index fcb9ce41c..a96602ed0 100644 --- a/go/storage/store.go +++ b/go/storage/store.go @@ -90,14 +90,18 @@ func (s *Store) findFreeLocation() (ret *DiskLocation) { } return ret } -func (s *Store) addVolume(vid VolumeId, replicationType ReplicationType) (err error) { +func (s *Store) addVolume(vid VolumeId, replicationType ReplicationType) error { if s.findVolume(vid) != nil { return fmt.Errorf("Volume Id %s already exists!", vid) } if location := s.findFreeLocation(); location != nil { log.Println("In dir", location.directory, "adds volume =", vid, ", replicationType =", replicationType) - location.volumes[vid], err = NewVolume(location.directory, vid, replicationType) - return err + if volume, err := NewVolume(location.directory, vid, replicationType); err == nil { + location.volumes[vid] = volume + return nil + } else { + return err + } } return fmt.Errorf("No more free space left") }