trinity-1686a
668dfea4e2
fix silent write errors ( #1360 )
...
same as #1358 for garage-v2
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1360
Co-authored-by: trinity-1686a <trinity@deuxfleurs.fr >
Co-committed-by: trinity-1686a <trinity@deuxfleurs.fr >
2026-02-24 14:40:11 +00:00
Gwen Lg
f59a8b7f62
style: corrects the use of ';' to improve readability
...
- remove unnecessary semicolon
and enable lint warning: unnecessary semicolon
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.93.0/index.html#unnecessary_semicolon
- add `;` to the last statement for consitent formatting
and enable lint `clippy::semicolon_if_nothing_returned`
warning: consider adding a `;` to the last statement for consistent formatting
help: for further information visit https://rust-lang.github.io/rust-clippy/rust-1.93.0/index.html#semicolon_if_nothing_returned
2026-02-17 18:38:44 +00:00
Gwen Lg
08fd6e659f
docs: add missing backticks in documentation
...
this improve readability of documentation.
enable associated clippy lint `doc_markdown`
2026-02-17 18:38:44 +00:00
Gwen Lg
6cde00073f
chore: enable workspace configuration of lints in Cargo.toml
...
and use workspace configuration in each package.
This allow to customize clippy and rust lint configuration for project.
No particular configuration in this commit.
2026-02-17 18:38:44 +00:00
Gwen Lg
934c4c31f1
chore: update dependency rand to 0.9
2026-02-10 19:16:49 +00: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
295c850380
chore: add taplo.toml and resave Cargo.toml
...
Signed-off-by: Gwen Lg <me@gwenlg.fr >
2026-01-29 20:49:28 +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
b43f309ec7
bump version to v2.1.0
2025-09-15 15:50:02 +02:00
Alex Auvolat
9c067c0cbd
Merge branch 'main-v1' into sync-v2-to-v1
2025-09-14 21:04:04 +02:00
Alex Auvolat
d726cf0299
add garage repair clear-resync-queue ( fix #1151 )
2025-09-14 19:34:44 +02:00
Alex Auvolat
909359ca4c
Merge branch 'main-v1' into sync-v2-to-v1
2025-09-14 17:02:34 +02:00
Alex Auvolat
4c139bcbca
add error case for layout not ready, and fail earlier in many places
2025-09-13 20:52:51 +02:00
Alex Auvolat
d5a57e3e13
block: read_block: don't add not found blocks to resync queue
2025-09-13 17:38:23 +02:00
Alex Auvolat
5cf354acb4
block: maximum number of simultaneous reads
2025-09-13 17:38:06 +02:00
Alex Auvolat
90bba5889a
garage_db: rename len to approximate_len as it is used for stats only
2025-08-27 21:23:45 +02:00
Alex Auvolat
fbf03e9378
bump version to v1.2.0
2025-06-13 14:21:28 +02:00
Alex Auvolat
d38d62f4d7
bump version to v2.0.0
2025-04-17 12:36:41 +02:00
Alex Auvolat
c6bed26347
relocalize logic into block manager
2025-03-25 16:41:19 +01:00
Alex Auvolat
2c9e849bbf
remove dependency from garage_block to garage_table
2025-03-25 11:43:41 +01:00
Alex Auvolat
4689b10448
bump version to v1.1.0
2025-03-05 10:19:51 +01:00
Alex Auvolat
e4c9a8cd53
block manager: avoid deadlock in fix_block_location ( fix #845 )
2025-02-14 17:41:50 +01:00
Alex Auvolat
fdf4dad728
block resync: avoid saving blocks to draining nodes
2025-02-14 16:45:55 +01:00
Alex Auvolat
d0104b9f9b
block manager: write blocks only to currently active layout version ( fix #815 )
...
avoid wastefully writing blocks to nodes that will discard them as soon
as the layout migration is finished
2025-02-14 16:45:55 +01:00
Alex Auvolat
620dc58560
remove async_trait for traits declared in garage_net
2025-02-05 20:22:16 +01:00
Alex Auvolat
ec1a475923
build with rust 1.82.0
2025-02-03 17:46:48 +01:00
Alex Auvolat
390a5d97fe
nix, ci: build with Crane
...
This removes our dependency on cargo2nix, which was causing us some
issues. Whereas cargo2nix creates one Nix derivation per crate, Crane
uses only two derivations:
1. Build dependencies only
2. Build the final binary
This means that during the second step, no caching can be done. For
instance, if we do a change in garage_model, we need to recompile all of
the Garage crates including those that do not depend on garage_model.
On the upside, this allows all of the Garage crates to be built at once
using cargo build logic, which is optimized for high parallelism and
better pipelining between all of the steps of the build. All in all,
this makes most builds faster than cargo2nix.
A few other changes have been made to the build scripts and CI:
- Unit tests are now run within a Nix derivation. In fact, we have
different derivations to run the tests using LMDB and Sqlite as
metadata db engines.
- For debug builds, most CI steps now run in parallel (with the notable
exception of the smoke test that runs after the build, which is
inevitable).
- We no longer pass the GIT_VERSION argument when building debug builds
and running the tests. This means that dev binaries and test
binaries don't know the exact version of Garage they are from. That
shouldn't be an issue in most cases.
- The not-dynamic.sh scripts has been fixed to fail if the file does not
exist.
2025-02-03 16:39:50 +01:00
Alex Auvolat
4563313f87
use cargo-shear to remove many unused dependencies between crates
2025-01-31 18:47:30 +01:00
Stefan Majer
2eb9fcae20
Fix all typos
2025-01-16 13:22:00 +01:00
Alex Auvolat
295237476e
fix formatting to comply with latest rustfmt
2025-01-12 17:36:25 +01:00
Alex Auvolat
7a143f46fc
Bump to version 1.0.1
2024-09-22 14:25:32 +02:00
Alex Auvolat
afad62939e
[next-0.10] bump version number to 1.0
2024-03-28 15:19:44 +01:00
Alex Auvolat
8bfc16ba7d
Merge branch 'main' into next-0.10
2024-03-28 15:01:05 +01:00
Alex Auvolat
85f580cbde
[fix-buffering] change request sending strategy and fix priorities
...
remove LAS, priorize new requests but otherwise just do standard queuing
2024-03-27 16:22:40 +01:00
Alex Auvolat
0d3e285d13
[fix-buffering] implement block_ram_buffer_max to avoid excessive RAM usage
2024-03-27 16:22:40 +01:00
Alex Auvolat
f7cd4eb600
Merge branch 'main' into next-0.10
2024-03-26 16:34:40 +01:00
Alex Auvolat
ba33bb31f1
[check-data-dir] add marker files in data directories ( fix #601 )
2024-03-20 15:20:25 +01:00
Alex Auvolat
3165ab926c
[block-ref-repair] rename rc's rc field to rc_table
2024-03-19 16:20:22 +01:00
Alex Auvolat
dc0b78cdb8
[block-ref-repair] Block refcount recalculation and repair
...
- We always recalculate the reference count of a block before deleting
it locally, to make sure that it is indeed zero.
- If we had to fetch a remote block but we were not able to get it,
check that refcount is indeed > 0.
- Repair procedure that checks everything
2024-03-19 16:20:22 +01:00
Alex Auvolat
0038ca8a78
Merge branch 'main' into next-0.10
2024-03-18 20:19:30 +01:00
Alex Auvolat
7c86ff6c37
[disable-scrub] implement a disable_scrub configuration option
2024-03-14 17:01:16 +01:00
Alex Auvolat
05c92204ec
[rm-sled] Remove counted_tree_hack
2024-03-08 15:09:57 +01:00
Alex Auvolat
44454aac01
[rm-sled] Remove the Sled database engine
2024-03-08 14:11:02 +01:00
Alex Auvolat
57acc60082
[sse-c] Implement SSE-C encryption
2024-03-07 15:43:47 +01:00
Alex Auvolat
8670140358
[rel-0.9.3] Bump version to 0.9.3
2024-03-04 14:00:55 +01:00
Alex Auvolat
6a7623e90d
[rel-0.9.2] Bump version to v0.9.2
2024-03-01 16:54:39 +01:00
Alex Auvolat
4b978b7533
Merge branch 'main' into next-0.10
2024-02-26 18:55:24 +01:00