fix: simplify background heal and trigger heal items early (#9928)

Bonus fix during versioning merge one of the PR was missing
the offline/online disk count fix from #9801 port it correctly
over to the master branch from release.

Additionally, add versionID support for MRF

Fixes #9910
Fixes #9931
This commit is contained in:
Harshavardhana
2020-06-29 13:07:26 -07:00
parent dcf1be1256
commit b4b76717c1
16 changed files with 112 additions and 94 deletions
+10 -6
View File
@@ -1676,18 +1676,20 @@ func (z *xlZones) PutObjectTags(ctx context.Context, bucket, object string, tags
if z.SingleZone() {
return z.zones[0].PutObjectTags(ctx, bucket, object, tags)
}
for _, zone := range z.zones {
err := zone.PutObjectTags(ctx, bucket, object, tags)
if err != nil {
if isErrBucketNotFound(err) {
if isErrObjectNotFound(err) {
continue
}
return err
}
return nil
}
return BucketNotFound{
return ObjectNotFound{
Bucket: bucket,
Object: object,
}
}
@@ -1699,15 +1701,16 @@ func (z *xlZones) DeleteObjectTags(ctx context.Context, bucket, object string) e
for _, zone := range z.zones {
err := zone.DeleteObjectTags(ctx, bucket, object)
if err != nil {
if isErrBucketNotFound(err) {
if isErrObjectNotFound(err) {
continue
}
return err
}
return nil
}
return BucketNotFound{
return ObjectNotFound{
Bucket: bucket,
Object: object,
}
}
@@ -1719,14 +1722,15 @@ func (z *xlZones) GetObjectTags(ctx context.Context, bucket, object string) (*ta
for _, zone := range z.zones {
tags, err := zone.GetObjectTags(ctx, bucket, object)
if err != nil {
if isErrBucketNotFound(err) {
if isErrObjectNotFound(err) {
continue
}
return tags, err
}
return tags, nil
}
return nil, BucketNotFound{
return nil, ObjectNotFound{
Bucket: bucket,
Object: object,
}
}