Add IsRemote method on FileInfo, ObjectInfo (#12209)

Provides a convenient method to know if an object's contents are in its remote
tier.
This commit is contained in:
Krishnan Parthasarathi
2021-05-04 08:40:42 -07:00
committed by GitHub
parent e948e7cdf6
commit 860bf1bab2
5 changed files with 86 additions and 14 deletions

View File

@@ -183,16 +183,13 @@ func (er erasureObjects) GetObjectNInfo(ctx context.Context, bucket, object stri
ObjInfo: objInfo,
}, toObjectErr(errMethodNotAllowed, bucket, object)
}
if objInfo.TransitionStatus == lifecycle.TransitionComplete {
// If transitioned, stream from transition tier unless object is restored locally or restore date is past.
if onDisk := isRestoredObjectOnDisk(objInfo.UserDefined); !onDisk {
gr, err := getTransitionedObjectReader(ctx, bucket, object, rs, h, objInfo, opts)
if err != nil {
return nil, err
}
unlockOnDefer = false
return gr.WithCleanupFuncs(nsUnlocker), nil
if objInfo.IsRemote() {
gr, err := getTransitionedObjectReader(ctx, bucket, object, rs, h, objInfo, opts)
if err != nil {
return nil, err
}
unlockOnDefer = false
return gr.WithCleanupFuncs(nsUnlocker), nil
}
fn, off, length, err := NewGetObjectReader(rs, objInfo, opts)