Gwen Lg
f2f6669bf0
style: clean use for question_mark
...
- remove useless `Ok` enclosing with `?`
lint message: enclosing `Ok` and `?` operator are unneeded
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_question_mark
- use question mark instead of manual implementation
lint message: this `match` expression can be replaced with `?`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#question_mark
2026-01-29 20:49:28 +01:00
Gwen Lg
21db7a4d4b
chore: remove various useless code
...
- call expect directly on Result
lint message: called `ok().expect()` on a `Result` value
help: you can call `expect()` directly on the `Result`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#ok_expect
- use assign operation instead of manual implementation
lint message: manual implementation of an assign operation
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#assign_op_pattern
- remove useless call to format
lint message: useless use of `format!`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_format
- remove useless `?Sized`
lint message: `?Sized` bound is ignored because of a `Sized` requirement
note: ...because `Deserialize` has the bound `Sized`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_maybe_sized
- use is_some instead of pattern maching with Some(_)
lint message: redundant pattern matching, consider using `is_some()`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#redundant_pattern_matching
- remove unneeded unit return type
lint message: unneeded unit return type
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#unused_unit
- remove redundant closure
lint message: redundant closure
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#redundant_closure
- use derive Default instead of manual implementation
lint message: this `impl` can be derived
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#derivable_impls
- remove unneeded `return` statement
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_return
- remove empty string from println call
lint message: empty string literal in `println!`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#println_empty_string
- remove clone() on type than implement Copy
lint message: using `clone` on type `Option<ChecksumValue>` which implements the `Copy` trait
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#clone_on_copy
- remove useless let binding
lint message: this let-binding has unit value
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#let_unit_value
- remove useless len comparison to zero, already test of empty
lint message: length comparison to zero
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#len_zero
- remove useless `as_deref` call
lint message: derefed type is same as origin
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_option_as_deref
- remove useless conversion of the same type
lint message: useless conversion to the same type: `replication_mode::ReplicationFactor`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_conversion
- remove useless bool_comparison
lint message: equality checks against false can be replaced by a negation
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#bool_comparison
- remove useless to_string
lint message: unnecessary use of `to_string`
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#unnecessary_to_owned
Signed-off-by: Gwen Lg <me@gwenlg.fr >
2026-01-29 20:49:28 +01:00
Gwen Lg
ea9597819c
refactor: clean perf related
...
- use array instead of vec when it's useless
clippy lint message: useless use of `vec!` help: you can use an array directly.
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#useless_vec
- call as_bytes before slicing
lint message: calling `as_bytes` after slicing a string
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#sliced_string_as_bytes
Signed-off-by: Gwen Lg <me@gwenlg.fr >
2026-01-29 20:49:28 +01:00
Gwen Lg
141b3f24f1
chore: clean relative to references and borrows
...
- lint message: the borrowed expression implements the required traits
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_borrows_for_generic_args
- lint message: this expression creates a reference which is immediately dereferenced by the compiler
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#needless_borrow
- lint message: you don't need to add `&` to all patterns
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#match_ref_pat
- remove useless taken reference
lint message: needlessly taken reference of left operand
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#op_ref
- use &Path instead of &PathBuf as fn parameters
lint message: writing `&PathBuf` instead of `&Path` involves a new object where a slice will do
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.92.0/index.html#ptr_arg
2026-01-29 20:49:28 +01:00
Gwen Lg
014bebfa1f
chore: improve code readability by rename pn var in part_number
2026-01-29 14:53:27 +01:00
Gwen Lg
e331f88c85
chore: fix typos in rust code comment or error message
2026-01-29 14:53:27 +01:00
Alex Auvolat
582b168b6a
bump version to v2.2.0
2026-01-24 12:32:22 +01:00
Alex Auvolat
cd641a9ed2
Merge branch 'main-v1' into merge-v1
2026-01-24 09:56:02 +01:00
joeanderson
77ef3c85ea
Merge branch 'main-v2' into fix/presigned-post-bucket
2026-01-18 15:38:28 +00:00
Joe Anderson
79c7126b67
Allow bucket to be missing from presigned post params
2026-01-18 15:08:59 +00:00
perrynzhou@gmail.com
e3a5ec6ef6
rename put_blocks_max_parallel to block_max_concurrent_writes_per_request and update configuration.md
2025-12-12 07:09:38 +08:00
perrynzhou@gmail.com
4d124e1c76
Add the parameter, which replaces . This is to accommodate different storage media such as HDD and NVMe.
2025-12-10 06:43:51 +08:00
Alex
58bc65b9a8
Merge pull request 'migrate to this error, garage-v1' ( #1218 ) from thiserror into main-v1
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1218
Reviewed-by: Alex <lx@deuxfleurs.fr >
2025-11-12 08:05:32 +00:00
trinity-1686a
ef913843f7
fmt
2025-11-01 19:35:11 +01:00
trinity-1686a
ac851d6dee
fmt
2025-11-01 18:04:54 +01:00
trinity-1686a
1fe932d07f
migrate to this error
...
it doesn't generate a bazillion warning at compile time
2025-11-01 17:25:23 +01:00
trinity-1686a
82297371bf
migrate to this error
...
it doesn't generate a bazillion warning at compile time
2025-11-01 17:20:39 +01:00
trinity-1686a
42fd8583bd
properly handle precondition time equal to object time
2025-10-08 17:54:22 +02:00
Alex Auvolat
b43f309ec7
bump version to v2.1.0
2025-09-15 15:50:02 +02:00
Alex Auvolat
4b1fdbef55
bump version to v1.3.0
2025-09-14 21:36:33 +02:00
Alex
47772eb525
Merge pull request 'fix: return consistent cors headers on api error' ( #1115 ) from Xstoudi/garage:fix/consistent-cors into main-v2
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1115
2025-08-27 16:19:36 +00:00
trinity-1686a
6f9d6919a9
log access keys
2025-08-03 15:31:51 +02:00
trinity-1686a
b340599e68
log access keys
2025-08-03 15:30:56 +02:00
Xavier Stouder
985ad68ade
fix: run cargo format
2025-07-31 22:52:27 +02:00
Charles Hall
b7a853b01f
ignore checksums with empty/whitespace-only bodies
...
aws-sdk-cpp was observed to send request bodies like this via Lix:
```xml
<?xml version="1.0"?>
<CompleteMultipartUpload xmlns="http://s3.amazonaws.com/doc/2006-03-01/ ">
<Part>
<ETag>"8a5031bda169553d6a232e6c11068774"</ETag>
<ChecksumCRC32></ChecksumCRC32>
<PartNumber>1</PartNumber>
</Part>
<Part>
<ETag>"da977cc58b75bd17749c1ff460ba301a"</ETag>
<ChecksumCRC32></ChecksumCRC32>
<PartNumber>2</PartNumber>
</Part>
</CompleteMultipartUpload>
```
2025-07-31 11:15:33 -07:00
Charles Hall
66faef9fb6
factor out repetitive else-if chain into macro
2025-07-30 18:44:51 -07:00
Charles Hall
13f67b6cd8
log incorrect multipart completion body
2025-07-30 17:08:43 -07:00
Xavier Stouder
0dabf9b22f
fix: return consistent cors headers on api error
2025-07-30 22:20:48 +02:00
Alex
e226fb413f
Merge pull request 'fix: return 204 on successful AbortMultipartUpload' ( #1095 ) from nikeee/garage:fix-abort-multipart-upload into main-v2
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1095
2025-07-11 17:12:32 +00:00
Niklas Mollenhauer
708a84f1d6
fix: return 204 on successful AbortMultipartUpload
...
Docs state that 204 should be returned on success:
https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html
```http
HTTP/1.1 204
x-amz-request-charged: RequestCharged
```
2025-07-11 16:19:51 +02:00
Niklas Mollenhauer
71aef8770e
fix: GetBucketCORS returns 404 if there are no policies
...
Similar issue @ ceph:
https://github.com/ceph/ceph/pull/27122/files
https://tracker.ceph.com/issues/38886
Implementation @ minio:
https://github.com/minio/minio/blob/de234b888c26cc191f3062a625af82640c966795/cmd/dummy-handlers.go#L196
2025-07-08 17:33:51 +02:00
Alex Auvolat
fbf03e9378
bump version to v1.2.0
2025-06-13 14:21:28 +02:00
Alex Auvolat
dc1a4ffd76
Merge branch 'main' into next-v2
2025-06-13 14:01:39 +02:00
Alex
a19d2f16e2
Merge pull request 'api: s3: implement get bucket acl' ( #1045 ) from ragazenta/garage:feat/dummy-acl into main
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1045
2025-05-30 16:25:04 +00:00
trinity-1686a
fc8fc60f6d
emit internal error when we detect race condition ( #1053 ) ( fix #1050 )
...
i went with a `500`/`InternalError`/`Please try again.` because that is something i've seen AWS S3 report while developing other software, and i'm not convinced all clients would understand a 409 conflict properly (GET don't usually conflict)
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1053
Co-authored-by: trinity-1686a <trinity@deuxfleurs.fr >
Co-committed-by: trinity-1686a <trinity@deuxfleurs.fr >
2025-05-30 16:24:12 +00:00
Renjaya Raga Zenta
1b042e379e
api: s3: implement get bucket acl
2025-05-26 09:43:15 +07:00
Yureka
ffbce0f689
speed up UploadPartCopy
...
(cherry picked from commit db54bf96c7 )
2025-05-23 20:36:32 +02:00
Alex Auvolat
7ab1d176d4
Merge branch 'main' into next-v2
2025-05-23 16:33:07 +02:00
Alex Auvolat
2ade8c86f6
more resilience to inconsistent alias states
2025-05-22 19:12:05 +02:00
Alex
b15d55ea9f
Merge pull request 'implement x-amz-checksum-type' ( #1025 ) from checksum-type into next-v2
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1025
2025-05-22 17:06:04 +00:00
Alex Auvolat
c13af97b81
return ChecksumType in CompleteMultipartUpload result
2025-05-22 18:24:29 +02:00
Alex Auvolat
d1d5c67ba7
fix test-smoke for CompleteMultipartUpload
2025-05-22 18:14:53 +02:00
Alex Auvolat
cfd10480ee
CopyObject: fix checksumming choice logic
2025-05-22 17:07:10 +02:00
Alex Auvolat
fbb40c4ea0
object_table: merge checksum_algorithm and checksum_type for Uploading state
2025-05-22 17:07:10 +02:00
Alex Auvolat
e475c7f802
api: switch to crc_fast for checksumming and implement full-object mpu checksums
2025-05-22 17:03:54 +02:00
Alex Auvolat
589a992af8
api: parse x-amz-checksum-type and validate combination with algo
2025-05-22 17:03:54 +02:00
Alex Auvolat
768794daae
api: change ExpectedChecksums to not be a reference
2025-05-22 17:03:54 +02:00
Alex Auvolat
abe0546ab0
model: store x-amz-checksum-type (full_object | composite)
2025-05-22 17:03:54 +02:00
Alex
be16bc7a05
Merge pull request 'Fix behavior of CopyObject wrt x-amz-website-redirect-location' ( #1037 ) from Armael/garage:copy-website-redirect into main
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1037
2025-05-22 13:57:28 +00:00
Alex
bfaa1ca6b7
Merge pull request 'api: lifecycle: 404 if missing lifecycle config' ( #1043 ) from ragazenta/garage:no-lifecycle-response into main
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1043
2025-05-22 13:56:52 +00:00