diff --git a/cmd/erasure-multipart.go b/cmd/erasure-multipart.go index f71804602..9d9b0d453 100644 --- a/cmd/erasure-multipart.go +++ b/cmd/erasure-multipart.go @@ -1351,7 +1351,7 @@ func (er erasureObjects) CompleteMultipartUpload(ctx context.Context, bucket str return oi, toObjectErr(err, bucket, object, uploadID) } - if err = er.commitRenameDataDir(ctx, bucket, object, oldDataDir, onlineDisks); err != nil { + if err = er.commitRenameDataDir(ctx, bucket, object, oldDataDir, onlineDisks, writeQuorum); err != nil { return ObjectInfo{}, toObjectErr(err, bucket, object, uploadID) } diff --git a/cmd/erasure-object.go b/cmd/erasure-object.go index 19215b5d9..aecdf683f 100644 --- a/cmd/erasure-object.go +++ b/cmd/erasure-object.go @@ -1541,7 +1541,7 @@ func (er erasureObjects) putObject(ctx context.Context, bucket string, object st return ObjectInfo{}, toObjectErr(err, bucket, object) } - if err = er.commitRenameDataDir(ctx, bucket, object, oldDataDir, onlineDisks); err != nil { + if err = er.commitRenameDataDir(ctx, bucket, object, oldDataDir, onlineDisks, writeQuorum); err != nil { return ObjectInfo{}, toObjectErr(err, bucket, object) } @@ -1787,7 +1787,7 @@ func (er erasureObjects) DeleteObjects(ctx context.Context, bucket string, objec return dobjects, errs } -func (er erasureObjects) commitRenameDataDir(ctx context.Context, bucket, object, dataDir string, onlineDisks []StorageAPI) error { +func (er erasureObjects) commitRenameDataDir(ctx context.Context, bucket, object, dataDir string, onlineDisks []StorageAPI, writeQuorum int) error { if dataDir == "" { return nil } @@ -1803,12 +1803,8 @@ func (er erasureObjects) commitRenameDataDir(ctx context.Context, bucket, object }) }, index) } - for _, err := range g.Wait() { - if err != nil { - return err - } - } - return nil + + return reduceWriteQuorumErrs(ctx, g.Wait(), objectOpIgnoredErrs, writeQuorum) } func (er erasureObjects) deletePrefix(ctx context.Context, bucket, prefix string) error {