fix: conditional checks write for multipart (#21567)

This commit is contained in:
M Alvee
2025-09-07 09:13:09 -07:00
committed by GitHub
parent 0cde982902
commit 07c3a429bf
5 changed files with 25 additions and 2 deletions

View File

@@ -1278,8 +1278,9 @@ func (er erasureObjects) putObject(ctx context.Context, bucket string, object st
return objInfo, err
}
// if object doesn't exist and not a replication request return error for conditional requests
if err != nil && !opts.ReplicationRequest {
// if object doesn't exist and not a replication request return error for If-Match conditional requests
// If-None-Match should be allowed to proceed for non-existent objects
if err != nil && !opts.ReplicationRequest && opts.HasIfMatch && (isErrObjectNotFound(err) || isErrVersionNotFound(err)) {
return objInfo, err
}
}