Arthur Carcano
5a4da29f92
Migrate BlockRc and BlockResyncManager to TypedTree
2026-06-30 21:04:06 +00:00
Alex Auvolat
7bc7f33f43
bg vars: return "never" when scrub never ran ( fix #1421 ) ( #1430 )
...
Reviewed-on: https://git.deuxfleurs.fr/Deuxfleurs/garage/pulls/1430
2026-05-01 15:06:02 +00:00
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
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
e331f88c85
chore: fix typos in rust code comment or error message
2026-01-29 14:53:27 +01: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
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
e4c9a8cd53
block manager: avoid deadlock in fix_block_location ( fix #845 )
2025-02-14 17:41:50 +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
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
57acc60082
[sse-c] Implement SSE-C encryption
2024-03-07 15:43:47 +01:00
Alex Auvolat
4b978b7533
Merge branch 'main' into next-0.10
2024-02-26 18:55:24 +01:00
Alex Auvolat
b76c0c102e
[refactor-put] add ordering tag to blocks being sent to storage nodes
2024-02-26 18:35:11 +01:00
Alex Auvolat
916c67ccf4
Merge branch 'main' into next-0.10
2024-02-23 16:50:34 +01:00
Alex Auvolat
6ee691e65f
[refactor-block] simplify some more
2024-02-23 12:50:10 +01:00
Alex Auvolat
e9c42bca34
[refactor-block] add DataBlockStream type
2024-02-23 12:22:29 +01:00
Alex Auvolat
cd1069c1d4
[refactor-block] refactor DataBlock and DataBlockPath
2024-02-23 12:15:52 +01:00
Alex Auvolat
07c7895948
[refactor-block] simplify rpc_get_block
2024-02-23 11:54:40 +01:00
Alex Auvolat
9b41f4ff20
[refactor-block] move read_stream_to_end to garage_net
2024-02-23 11:46:57 +01:00
Alex Auvolat
93552b9275
[refactor-block] Remove redundant BlockStream type
2024-02-23 11:33:38 +01:00
Alex Auvolat
eb4a6ce106
Merge branch 'main' into next-0.10
2024-02-15 14:06:34 +01:00
Alex Auvolat
5ea24254a9
[import-netapp] import Netapp code into Garage codebase
2024-02-15 12:15:07 +01:00
Alex Auvolat
cf2af186fc
Merge branch 'main' into next-0.10
2024-02-13 11:36:28 +01:00
Alex Auvolat
22332e6c35
[dep-upgrade-202402] simplify/refactor GetObject
2024-02-05 20:26:33 +01:00
Alex Auvolat
5dd200c015
layout: move block_read_nodes_of to rpc_helper to avoid double-locking
...
(in theory, this could have caused a deadlock)
2023-12-08 12:02:24 +01:00
Alex Auvolat
d6d239fc79
block manager: read_block using old layout versions if necessary
2023-11-27 11:52:57 +01:00
Alex Auvolat
33c8a489b0
layou: implement ack locking
2023-11-15 15:40:44 +01:00
Alex Auvolat
90e1619b1e
table: take into account multiple write sets in inserts
2023-11-14 15:40:46 +01:00
Alex Auvolat
3b361d2959
layout: prepare for write sets
2023-11-14 14:28:16 +01:00
Alex Auvolat
8a2b1dd422
wip: split out layout management from System into separate LayoutManager
2023-11-09 12:55:36 +01:00
Alex Auvolat
7f9ba49c71
block manager: remove data_dir field
2023-09-11 11:57:36 +02:00
Alex Auvolat
be91ef6294
block manager: fix bug where rebalance didn't delete old copies
2023-09-07 16:04:03 +02:00
Alex Auvolat
6b008b5bd3
block manager: add rebalance operation to rebalance multi-hdd setups
2023-09-07 13:44:11 +02:00