Files
seaweedfs/weed/s3api
Chris Lu 0f5c6a8ae0 fix S3 conditional header TOCTOU race during concurrent writes (#8800)
The early check in checkConditionalHeaders ran before data upload,
allowing concurrent requests to all pass before any write completed.

Use the existing distributed lock manager to atomically re-check
conditional headers and create the filer entry. The lock is acquired
after data upload (so it's held only for fast metadata operations)
and covers all conditional headers: If-Match, If-None-Match,
If-Modified-Since, and If-Unmodified-Since.

Requests without conditional headers have zero overhead (no lock).
2026-03-27 12:42:57 -07:00
..
2026-01-28 14:34:07 -08:00
2024-07-04 11:00:41 -07:00
2026-02-20 18:40:47 -08:00
2024-07-04 11:00:41 -07:00
2025-08-22 01:15:42 -07:00
2025-08-21 08:28:07 -07:00
2025-08-21 08:28:07 -07:00
2025-08-22 01:15:42 -07:00
2025-10-27 23:04:55 -07:00
2025-10-27 23:04:55 -07:00
2025-10-13 18:05:17 -07:00
2025-07-28 02:49:43 -07:00

see https://blog.aqwari.net/xml-schema-go/

1. go get aqwari.net/xml/cmd/xsdgen
2. Add EncodingType element for ListBucketResult in AmazonS3.xsd
3. xsdgen -o s3api_xsd_generated.go -pkg s3api AmazonS3.xsd
4. Remove empty Grantee struct in s3api_xsd_generated.go
5. Remove xmlns: sed s'/http:\/\/s3.amazonaws.com\/doc\/2006-03-01\/\ //' s3api_xsd_generated.go