mirror of
https://github.com/pgsty/minio.git
synced 2026-11-01 13:22:02 +03:00
fix: preserve versioning context when verifying recovery
Signed-off-by: Feng Ruohang <rh@vonng.com>
This commit is contained in:
@@ -1259,7 +1259,12 @@ func (z *erasureServerPools) PutObject(ctx context.Context, bucket string, objec
|
|||||||
// committed write on failure; a read failure is not permission to undo.
|
// committed write on failure; a read failure is not permission to undo.
|
||||||
var latest ObjectInfo
|
var latest ObjectInfo
|
||||||
var latestIdx int
|
var latestIdx int
|
||||||
latest, latestIdx, err = z.getLatestObjectInfoWithIdx(ctx, bucket, object, ObjectOptions{NoLock: true, NoAuditLog: true})
|
latest, latestIdx, err = z.getLatestObjectInfoWithIdx(ctx, bucket, object, ObjectOptions{
|
||||||
|
NoLock: true,
|
||||||
|
NoAuditLog: true,
|
||||||
|
Versioned: opts.Versioned,
|
||||||
|
VersionSuspended: opts.VersionSuspended,
|
||||||
|
})
|
||||||
if err == nil && (latestIdx != idx || latest.VersionID != oi.VersionID || latest.ETag != oi.ETag || !latest.ModTime.Equal(oi.ModTime)) {
|
if err == nil && (latestIdx != idx || latest.VersionID != oi.VersionID || latest.ETag != oi.ETag || !latest.ModTime.Equal(oi.ModTime)) {
|
||||||
err = InsufficientReadQuorum{Bucket: bucket, Object: decodeDirObject(object), Err: errErasureReadQuorum, Type: RQInconsistentMeta}
|
err = InsufficientReadQuorum{Bucket: bucket, Object: decodeDirObject(object), Err: errErasureReadQuorum, Type: RQInconsistentMeta}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user