Vitaliy Filippov
b151013201
Fix snapshot reads from a dirty write-back cache
2025-02-23 02:31:19 +03:00
Vitaliy Filippov
9dbcdbcec9
Return left_on_dead OSD list in DELETE replies and use it in rm-data
2025-01-03 15:57:09 +03:00
Vitaliy Filippov
40b8a8b0da
Add wait_up_timeout support to cluster_client and use it in vitastor-cli rm-data & merge
2025-01-01 17:57:58 +03:00
Vitaliy Filippov
5c5119aba4
Pass min_offset/max_offset to list_inode()
2025-01-01 15:40:12 +03:00
Vitaliy Filippov
4edda88903
Wait for OSDs to either connect or stop infinitely during listing, not for peer_connect_timeout
2025-01-01 15:29:42 +03:00
Vitaliy Filippov
80dda3ca94
Remove separate list_inode_next()
2025-01-01 14:19:18 +03:00
Vitaliy Filippov
4995592e61
Retry listings on broken OSD connections
2025-01-01 11:14:36 +03:00
Vitaliy Filippov
d9f9b0bca5
Start listings consistently with the current PG state, add wait_up_timeout
...
This still doesn't make listings 100% consistent yet; for 100% consistent
listings we have to receive listings only from the primary OSD, not from all
peer OSDs, but this issue will be fixed separately.
2025-01-01 10:58:22 +03:00
Vitaliy Filippov
d0396267d0
Clear retry_timeout when the client is destroyed
2025-01-01 10:58:22 +03:00
Vitaliy Filippov
ba9aabf187
Return listing errors from list_inode_start(), abort merging and fail deletion on unsuccessfull listings
2024-12-27 18:31:21 +03:00
Vitaliy Filippov
5c890e4a12
Fix rm-data hanging when some OSDs are inactive, add a test for it
...
There's also another case which also needs to be fixed - we shouldn't retry
deletions for indefinite time if an OSD is stopped during deletion
2024-12-27 16:29:33 +03:00
Vitaliy Filippov
ea0d72289c
Treat copied buffers as written only after completing the write in client
...
SYNC operation fsyncs only completed operations, so treating writes as "eligible
for fsync" before actually completing them is incorrect
It affected SCHEME=ec test_heal.sh (with immediate_commit=none) test - it was
flapping with lost writes - some non-fsynced writes were legitimately lost by
the OSD, but weren't repeated by the client
2024-06-20 02:11:53 +03:00
Vitaliy Filippov
e400a851f4
Repeat dirty buffer flushes on any PG primary change because the new primary may not know about unfinished operations of the old primary
2024-06-19 00:28:26 +03:00
Vitaliy Filippov
4473eb5512
Fix slow & failing CAS layer merge
2024-06-14 02:15:49 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00