Vitaliy Filippov
78fbaacf1f
External jerasure's w into defines
...
In fact, w=8 looks better than w=32, so it may be changed in the future
2020-12-31 19:15:22 +03:00
Vitaliy Filippov
9d80bd2d98
Build with jerasure, split some build scripts
2020-12-05 19:02:23 +03:00
Vitaliy Filippov
a45e0e5e67
Use custom decoding instead of just jerasure_matrix_decode()
...
- Cache the decoding matrix
- Don't do unnecessary erasures->erased conversion during decoding
- Avoid extra memory allocations during decoding
- Don't always reconstruct coding chunks
- Reconstruct chunks one-by-one, without overlapping ranges
2020-12-04 17:43:48 +03:00
Vitaliy Filippov
a4c46ba745
Add jerasure EC support (reed_sol_van, others are slower) (not tested yet)
2020-12-04 11:47:27 +03:00
Vitaliy Filippov
720985e4c7
Fix NULL rmw buffer after the latest changes and add a testcase for it
2020-10-24 18:29:19 +03:00
Vitaliy Filippov
e8ac08be14
Allow to overwrite incomplete objects or parts of objects to recover them
2020-10-24 02:14:41 +03:00
Vitaliy Filippov
0471b09b9c
Add license notices to all source code files
2020-09-17 23:07:06 +03:00
Vitaliy Filippov
e051db5a73
Check for unsuccessful memory allocations
2020-09-05 01:42:11 +03:00
Vitaliy Filippov
4f9b5286a0
Add replicated pool support to OSD logic
...
...in theory :-D now it needs some testing
2020-09-05 01:42:11 +03:00
Vitaliy Filippov
e680d6c1c3
Rename reconstruct_stripe and calc_rmw_parity to indicate that they are only for XOR N+1
2020-06-30 10:40:43 +03:00
Vitaliy Filippov
e09d0e0678
Several bug fixes
...
- Do not block flock() requests
- Fix stop_client(0) attempts leading to std::bad_function_call
- Fix degraded writes crashing due to an unset stripes[i].missing (at least with a missing parity device)
- Fix recovery B/W reporting
2020-05-24 01:51:35 +03:00
Vitaliy Filippov
f036eecf1c
Fix osd_rmw object recovery case (len==0)
2020-05-23 15:43:37 +03:00
Vitaliy Filippov
cf7de0f181
(Almost) Implement misplaced recovery, integrating it into calc_rmw()
2020-04-05 15:50:53 +03:00
Vitaliy Filippov
1b30120918
Fix stripe reconstruction in recovery, only write modified object parts
2020-03-28 13:58:42 +03:00
Vitaliy Filippov
74673c761f
Make basic primary-write work
2020-02-25 02:55:58 +03:00
Vitaliy Filippov
88e56a564f
Rename osd_read_stripe_t to osd_rmw_stripe_t
2020-02-23 23:43:57 +03:00
Vitaliy Filippov
d4fd9d982a
Implement read-modify-write calculation and extract it into a separate file
2020-02-23 02:11:43 +03:00