diff --git a/cmd/erasure-healing.go b/cmd/erasure-healing.go index e09d6dbbb..c0c3bb2d5 100644 --- a/cmd/erasure-healing.go +++ b/cmd/erasure-healing.go @@ -778,7 +778,10 @@ func (er erasureObjects) purgeObjectDangling(ctx context.Context, bucket, object if m.Erasure.ParityBlocks == 0 { parityBlocks = er.defaultParityCount } - dataBlocks := len(storageDisks) - parityBlocks + dataBlocks := m.Erasure.DataBlocks + if m.Erasure.DataBlocks == 0 { + dataBlocks = len(storageDisks) - parityBlocks + } writeQuorum := dataBlocks if dataBlocks == parityBlocks { writeQuorum++ diff --git a/cmd/erasure-metadata.go b/cmd/erasure-metadata.go index ce6b9960a..099da0e73 100644 --- a/cmd/erasure-metadata.go +++ b/cmd/erasure-metadata.go @@ -344,7 +344,11 @@ func objectQuorumFromMeta(ctx context.Context, partsMetaData []FileInfo, errs [] parityBlocks = defaultParityCount } - dataBlocks := len(partsMetaData) - parityBlocks + dataBlocks := latestFileInfo.Erasure.DataBlocks + if dataBlocks == 0 { + dataBlocks = len(partsMetaData) - parityBlocks + } + writeQuorum := dataBlocks if dataBlocks == parityBlocks { writeQuorum++