Chris Lu
0adb78bc6b
s3api: make conditional mutations atomic and AWS-compatible (#8802)
* s3api: serialize conditional write finalization
* s3api: add conditional delete mutation checks
* s3api: enforce destination conditions for copy
* s3api: revalidate multipart completion under lock
* s3api: rollback failed put finalization hooks
* s3api: report delete-marker version deletions
* s3api: fix copy destination versioning edge cases
* s3api: make versioned multipart completion idempotent
* test/s3: cover conditional mutation regressions
* s3api: rollback failed copy version finalization
* s3api: resolve suspended delete conditions via latest entry
* s3api: remove copy test null-version injection
* s3api: reject out-of-order multipart completions
* s3api: preserve multipart replay version metadata
* s3api: surface copy destination existence errors
* s3api: simplify delete condition target resolution
* test/s3: make conditional delete assertions order independent
* test/s3: add distributed lock gateway integration
* s3api: fail closed multipart versioned completion
* s3api: harden copy metadata and overwrite paths
* s3api: create delete markers for suspended deletes
* s3api: allow duplicate multipart completion parts