Files
seaweedfs/weed/s3api
Chris Lu 7b4df8b9e2 s3: route non-versioned CopyObject finalize off the DLM
A non-versioned copy's finalize is a single CreateEntry, so route it to the
destination key's owner filer with the precondition, like PutObject, instead of
the distributed lock. routedCopyFinalize builds the same entry mkFile would and
falls back to the lock path on a transport error or an unmapped in-band error.

Versioned copies (version file + latest pointer) and CompleteMultipartUpload
(which revalidates idempotent replay against the current object, beyond what a
single WriteCondition expresses) keep the lock path.
2026-05-22 23:17:53 -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-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