diff --git a/cmd/erasure-object.go b/cmd/erasure-object.go index d0f2a1ea2..8b579b4aa 100644 --- a/cmd/erasure-object.go +++ b/cmd/erasure-object.go @@ -972,17 +972,14 @@ func healObjectVersionsDisparity(bucket string, entry metaCacheEntry) error { fivs, err := entry.fileInfoVersions(bucket) if err != nil { - go healObject(bucket, entry.name, "", madmin.HealNormalScan) + go healObject(bucket, entry.name, "", madmin.HealDeepScan) return err } - if len(fivs.Versions) > 2 { - return fmt.Errorf("bucket(%s)/object(%s) object with %d versions needs healing, allowing lazy healing via scanner instead here for versions greater than 2", - bucket, entry.name, len(fivs.Versions)) - } - - for _, version := range fivs.Versions { - go healObject(bucket, entry.name, version.VersionID, madmin.HealNormalScan) + if len(fivs.Versions) <= 2 { + for _, version := range fivs.Versions { + go healObject(bucket, entry.name, version.VersionID, madmin.HealNormalScan) + } } return nil diff --git a/cmd/metacache-walk.go b/cmd/metacache-walk.go index d1abb15a4..71dcafcb1 100644 --- a/cmd/metacache-walk.go +++ b/cmd/metacache-walk.go @@ -323,13 +323,6 @@ func (s *xlStorage) WalkDir(ctx context.Context, opts WalkDirOptions, wr io.Writ } case isSysErrNotDir(err): // skip - default: - // It is totally possible that xl.meta was overwritten - // while being concurrently listed at the same time in - // such scenarios the 'xl.meta' might get truncated - if !IsErrIgnored(err, io.EOF, io.ErrUnexpectedEOF) { - logger.LogIf(ctx, err) - } } }