mirror of
https://github.com/pgsty/minio.git
synced 2026-11-11 01:55:30 +03:00
Integrate complete R3 encoding and safe-read repairs
Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
@@ -3953,6 +3953,8 @@ func (api objectAPIHandlers) PostRestoreObjectHandler(w http.ResponseWriter, r *
|
||||
return
|
||||
}
|
||||
|
||||
// Preserve a failed restore read even before the request body is parsed.
|
||||
opts.Transition.RestoreRequest = &RestoreObjectRequest{}
|
||||
objInfo, err := getObjectInfo(ctx, bucket, object, opts)
|
||||
if err != nil {
|
||||
writeErrorResponse(ctx, w, toAPIError(ctx, err), r.URL)
|
||||
@@ -3978,6 +3980,7 @@ func (api objectAPIHandlers) PostRestoreObjectHandler(w http.ResponseWriter, r *
|
||||
writeErrorResponse(ctx, w, apiErr, r.URL)
|
||||
return
|
||||
}
|
||||
opts.Transition.RestoreRequest = rreq
|
||||
statusCode := http.StatusOK
|
||||
alreadyRestored := false
|
||||
if err == nil {
|
||||
@@ -4006,9 +4009,11 @@ func (api objectAPIHandlers) PostRestoreObjectHandler(w http.ResponseWriter, r *
|
||||
}
|
||||
objInfo.UserDefined = metadata
|
||||
if _, err := objectAPI.CopyObject(GlobalContext, bucket, object, bucket, object, objInfo, ObjectOptions{
|
||||
VersionID: objInfo.VersionID,
|
||||
VersionID: objInfo.VersionID,
|
||||
Transition: opts.Transition,
|
||||
}, ObjectOptions{
|
||||
VersionID: objInfo.VersionID,
|
||||
Transition: opts.Transition,
|
||||
MTime: objInfo.ModTime,
|
||||
MetadataChg: true,
|
||||
}); err != nil {
|
||||
|
||||
Reference in New Issue
Block a user