diff --git a/cmd/xl-sets.go b/cmd/xl-sets.go index 59ed1bf62..fb784f448 100644 --- a/cmd/xl-sets.go +++ b/cmd/xl-sets.go @@ -345,10 +345,12 @@ func (s *xlSets) MakeBucketWithLocation(bucket, location string) error { errs := g.Wait() // Upon even a single write quorum error we undo all previously created buckets. for _, err := range errs { - if _, ok := err.(InsufficientWriteQuorum); ok { - undoMakeBucketSets(bucket, s.sets, errs) + if err != nil { + if _, ok := err.(InsufficientWriteQuorum); ok { + undoMakeBucketSets(bucket, s.sets, errs) + } + return err } - return err } // Success. @@ -481,10 +483,12 @@ func (s *xlSets) DeleteBucket(bucket string) error { // For any write quorum failure, we undo all the delete buckets operation // by creating all the buckets again. for _, err := range errs { - if _, ok := err.(InsufficientWriteQuorum); ok { - undoDeleteBucketSets(bucket, s.sets, errs) + if err != nil { + if _, ok := err.(InsufficientWriteQuorum); ok { + undoDeleteBucketSets(bucket, s.sets, errs) + } + return err } - return err } // Delete all bucket metadata.