Vitaliy Filippov
4a2dcf7b6b
Update the license to VNPL 1.1
...
VNPL 1.1 is slightly reworded to make it clear that proprietary software
interacting with Vitastor and providing some kind of service to end users isn't
a "Proxy Program" if it's not specially designed to be used with Vitastor.
For example, Windows OS running in a virtual machine stored in a Vitastor
cluster clearly isn't.
2021-02-25 23:55:33 +03:00
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