Add context to the object-interface methods.

Make necessary changes to xl fs azure sia
This commit is contained in:
Krishna Srinivas
2018-03-14 12:01:47 -07:00
committed by kannappanr
parent 9083bc152e
commit e452377b24
58 changed files with 844 additions and 610 deletions
+14 -6
View File
@@ -17,12 +17,14 @@
package cmd
import (
"context"
"encoding/json"
"fmt"
"strings"
"sync"
"time"
"github.com/minio/minio/cmd/logger"
"github.com/minio/minio/pkg/madmin"
)
@@ -309,6 +311,9 @@ type healSequence struct {
// the last result index sent to client
lastSentResultIndex int64
// Holds the request-info for logging
ctx context.Context
}
// NewHealSequence - creates healSettings, assumes bucket and
@@ -316,6 +321,8 @@ type healSequence struct {
func newHealSequence(bucket, objPrefix, clientAddr string,
numDisks int, hs madmin.HealOpts, forceStart bool) *healSequence {
ctx := logger.ContextSet(context.Background(), &logger.ReqInfo{clientAddr, "", "", "Heal", bucket, objPrefix, nil})
return &healSequence{
bucket: bucket,
objPrefix: objPrefix,
@@ -333,6 +340,7 @@ func newHealSequence(bucket, objPrefix, clientAddr string,
},
traverseAndHealDoneCh: make(chan error),
stopSignalCh: make(chan struct{}),
ctx: ctx,
}
}
@@ -528,7 +536,7 @@ func (h *healSequence) healDiskFormat() error {
return errServerNotInitialized
}
res, err := objectAPI.HealFormat(h.settings.DryRun)
res, err := objectAPI.HealFormat(h.ctx, h.settings.DryRun)
if err != nil {
return errFnHealFromAPIErr(err)
}
@@ -552,7 +560,7 @@ func (h *healSequence) healBuckets() error {
return errServerNotInitialized
}
buckets, err := objectAPI.ListBucketsHeal()
buckets, err := objectAPI.ListBucketsHeal(h.ctx)
if err != nil {
return errFnHealFromAPIErr(err)
}
@@ -583,7 +591,7 @@ func (h *healSequence) healBucket(bucket string) error {
return err
}
results, err := objectAPI.HealBucket(bucket, h.settings.DryRun)
results, err := objectAPI.HealBucket(h.ctx, bucket, h.settings.DryRun)
// push any available results before checking for error
for _, result := range results {
if perr := h.pushHealResultItem(result); perr != nil {
@@ -601,7 +609,7 @@ func (h *healSequence) healBucket(bucket string) error {
if h.objPrefix != "" {
// Check if an object named as the objPrefix exists,
// and if so heal it.
_, err = objectAPI.GetObjectInfo(bucket, h.objPrefix)
_, err = objectAPI.GetObjectInfo(h.ctx, bucket, h.objPrefix)
if err == nil {
err = h.healObject(bucket, h.objPrefix)
if err != nil {
@@ -616,7 +624,7 @@ func (h *healSequence) healBucket(bucket string) error {
marker := ""
isTruncated := true
for isTruncated {
objectInfos, err := objectAPI.ListObjectsHeal(bucket,
objectInfos, err := objectAPI.ListObjectsHeal(h.ctx, bucket,
h.objPrefix, marker, "", 1000)
if err != nil {
return errFnHealFromAPIErr(err)
@@ -646,7 +654,7 @@ func (h *healSequence) healObject(bucket, object string) error {
return errServerNotInitialized
}
hri, err := objectAPI.HealObject(bucket, object, h.settings.DryRun)
hri, err := objectAPI.HealObject(h.ctx, bucket, object, h.settings.DryRun)
if err != nil {
hri.Detail = err.Error()
}