Vitaliy Filippov
f20564b44b
Fix 32-bit build warnings (99.9% in printf)
2024-02-22 12:22:16 +03:00
Vitaliy Filippov
e7ac855b07
Fix that EC segfault (1234 -> 5030 partial overwrite)
2024-02-11 13:42:51 +03:00
Vitaliy Filippov
30dff8893f
Fix ISA-L version EC recovery with first missing data chunk not being read
...
Test / test_snapshot (push) Successful in 44s
Details
Test / test_snapshot_ec (push) Successful in 28s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_down (push) Successful in 30s
Details
Test / test_snapshot_down_ec (push) Successful in 31s
Details
Test / test_splitbrain (push) Successful in 24s
Details
Test / test_snapshot_chain (push) Successful in 2m20s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m1s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m49s
Details
Test / test_rebalance_verify (push) Successful in 3m37s
Details
Test / test_write (push) Successful in 42s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_write_xor (push) Successful in 54s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m55s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m13s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m4s
Details
Test / test_heal_ec (push) Successful in 5m2s
Details
Test / test_heal_csum_32k_dmj (push) Failing after 5m54s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m6s
Details
Test / test_heal_csum_32k (push) Successful in 6m59s
Details
Test / test_scrub (push) Successful in 1m16s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m56s
Details
Test / test_scrub_xor (push) Successful in 51s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m1s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m25s
Details
Test / test_heal_csum_4k (push) Successful in 6m9s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m33s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m37s
Details
Test / test_scrub_ec (push) Successful in 26s
Details
(Yes, all EC n + k with k >= 2 users should upgrade as soon as possible)
2023-11-04 01:34:18 +03:00
Vitaliy Filippov
f1961157f0
Fix brute-force error locator for EC n+k with k > 2
Test / test_change_pg_count_ec (push) Successful in 2m23s
Details
Test / test_change_pg_size (push) Successful in 20s
Details
Test / test_create_nomaxid (push) Successful in 16s
Details
Test / test_etcd_fail (push) Successful in 55s
Details
Test / test_failure_domain (push) Successful in 12s
Details
Test / test_interrupted_rebalance (push) Successful in 1m18s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m9s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m23s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m8s
Details
Test / test_minsize_1 (push) Successful in 22s
Details
Test / test_move_reappear (push) Successful in 28s
Details
Test / test_rebalance_verify (push) Successful in 2m17s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m19s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m4s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m22s
Details
Test / test_rm (push) Successful in 23s
Details
Test / test_snapshot (push) Successful in 20s
Details
Test / test_snapshot_ec (push) Successful in 34s
Details
Test / test_splitbrain (push) Successful in 33s
Details
Test / test_write (push) Successful in 1m15s
Details
Test / test_write_xor (push) Successful in 2m6s
Details
Test / test_write_no_same (push) Successful in 16s
Details
Test / test_heal_pg_size_2 (push) Successful in 5m22s
Details
Test / test_heal_ec (push) Successful in 5m31s
Details
Test / test_scrub (push) Successful in 29s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 27s
Details
Test / test_scrub_xor (push) Successful in 22s
Details
Test / test_scrub_pg_size_3 (push) Failing after 37s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 29s
Details
Test / test_scrub_ec (push) Failing after 33s
Details
2023-05-21 00:57:14 +03:00
Vitaliy Filippov
6ca20aa194
Allow scrub to fix corrupted object states
2023-05-20 23:19:39 +03:00
Vitaliy Filippov
281be547eb
Implement brute-force error locator for EC
2023-05-20 23:19:39 +03:00
Vitaliy Filippov
5da1d8e1b5
Fix EC just-bitmap reads (len=0) (fixes SCHEME=ec test_snapshot.sh)
2023-05-07 14:00:08 +03:00
Vitaliy Filippov
2d9a80c6f6
Implement missing bitmap recovery with ISA-L \(°□°)/
2023-05-07 11:25:51 +03:00
Vitaliy Filippov
2f5e769a29
Fix a small memory leak caused by bad indexing of EC recovery matrices
2023-04-11 00:30:36 +03:00
Vitaliy Filippov
3237014608
Fix incorrect parity read-modify-write calculation when writing into a lost chunk
2023-04-09 02:06:10 +03:00
Vitaliy Filippov
1e307069bc
Fix missing parity chunk calculation for EC n+k, k > 1 and first parity chunk missing
2023-02-28 02:40:19 +03:00
Vitaliy Filippov
bc465c16de
Fix arithmetic on void* for clang
2023-01-13 23:58:42 +03:00
Vitaliy Filippov
65f6b3a4eb
Fix jerasure crashing on bitmap calculation/restoration due to the lack of 16-byte alignment
2022-12-29 19:13:57 +03:00
Vitaliy Filippov
61fca7c426
Fix crash when calculating a parity chunk with previous parity chunk missing (test coming shortly)
2022-12-29 19:13:57 +03:00
Vitaliy Filippov
09a8864686
Fix degraded parity writes for EC N+K when K>1
...
Fixes possible `calc_rmw_parity_ec(): Assertion `bufs[i][curbuf[i]].buf' failed` error
2022-11-20 00:50:13 +03:00
Vitaliy Filippov
675bc12a13
Add extern "C" for systems like Gentoo which miss it in jerasure includes
2022-06-05 00:33:38 +03:00
Vitaliy Filippov
a0cae4c180
Rename "jerasure" to "ec" in pool configuration, function names, fix documentation and Debian build scripts
...
Old pool configurations with "jerasure" also remain supported as an alias for "ec"
2022-06-03 15:40:00 +03:00
Vitaliy Filippov
21b306e25f
Add ISA-L support
2022-06-02 01:47:33 +03:00
Vitaliy Filippov
7bdd92ca4f
Fix build under clang and some warnings
...
Build problems fixed:
- void* pointer arithmetic which is a GNU extension (works as byte*)
- "variable size object may not be initialized" which is OK under GCC
- nullptr_t related error in json11 (it lacks 'operator <' in clang)
Warnings fixed:
- empty nested struct initializer { 0 } replaced by {}
- removed several unused lambda captures
2022-01-16 00:02:54 +03:00
Vitaliy Filippov
38a3df4a0e
Implement chained (optimized) read in the primary OSD code
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
6bf88883ac
Allocate bitmaps along with stripes to avoid memory fragmentation
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
004f265393
Remove cryptic bitmap inlining from bs_op_t and osd_op_t, use bitmap in primary OSD code
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
6107a4d07b
Add "external" bitmap support to blockstore
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
95c29b9dc3
Add "external" bitmap support to osd_rmw
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
bf9a175efc
Move C/C++ sources to src subdirectory
2021-02-25 23:59:03 +03:00