Vitaliy Filippov
225eb2fe3d
Support RDMA without ODP by stupidly copying memory. Disable ODP by default
...
ODP is slower than regular RDMA even with memory copy overhead
Example numbers:
- 3950000 random read iops without ODP vs 240000 iops with ODP
- 1447000 random write iops without ODP vs 101000 iops with ODP
Reference: https://tkygtr6.github.io/pub/ISPASS21_slides.pdf
2023-11-12 15:03:47 +03:00
Vitaliy Filippov
7e82573ed0
Fix RDMA connection leak which was preventing stable functioning of RDMA :)
Test / test_minsize_1 (push) Successful in 14s
Details
Test / test_snapshot_ec (push) Successful in 38s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_move_reappear (push) Successful in 19s
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 22s
Details
Test / test_snapshot_chain (push) Successful in 2m19s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m0s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m45s
Details
Test / test_rebalance_verify (push) Successful in 3m36s
Details
Test / test_write (push) Successful in 37s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_write_xor (push) Successful in 53s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m54s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m8s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m5s
Details
Test / test_heal_ec (push) Successful in 4m48s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m25s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m29s
Details
Test / test_heal_csum_32k (push) Successful in 6m22s
Details
Test / test_scrub (push) Successful in 1m7s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m39s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m9s
Details
Test / test_scrub_xor (push) Successful in 47s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m3s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m12s
Details
Test / test_heal_csum_4k (push) Successful in 6m11s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m29s
Details
Test / test_scrub_ec (push) Successful in 33s
Details
2023-11-11 23:40:47 +03:00
Vitaliy Filippov
5524dbdab7
Release 1.2.0
...
Test / test_snapshot_ec (push) Successful in 25s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m18s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 18s
Details
Test / test_snapshot_chain (push) Successful in 2m13s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m57s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m51s
Details
Test / test_write (push) Successful in 38s
Details
Test / test_rebalance_verify (push) Successful in 3m39s
Details
Test / test_write_no_same (push) Successful in 12s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m56s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m6s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m43s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m35s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m44s
Details
Test / test_heal_csum_32k (push) Successful in 5m50s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m44s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 57s
Details
Test / test_scrub (push) Successful in 1m0s
Details
Test / test_scrub_xor (push) Successful in 1m5s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m9s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m38s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 54s
Details
Test / test_scrub_ec (push) Successful in 52s
Details
Test / test_heal_csum_4k (push) Successful in 5m8s
Details
Test / test_heal_ec (push) Successful in 3m17s
Details
Test / test_write_xor (push) Successful in 35s
Details
Test / test_move_reappear (push) Failing after 48s
Details
New features:
- Implement CSI volume expansion
- Implement CSI volume snapshots
- CSI driver now requires Kubernetes >= 1.20
Bug fixes:
- Important bug fix for EC: fix EC n+k, k>=2 read recovery in ISA-L version returning
incorrect data when reading at least the second chunk out of multiple missing chunks
without reading the first one. All users of EC n+k, k>=2 should upgrade as soon as
possible, and upgrade should be conducted with downtime: first stop all clients
(VMs/containers), then all OSDs, then upgrade and restart everything.
- Fix unstable statistics aggregation in monitor (affecting vitastor-cli status and df)
- Make udev not wait for OSDs to start during boot
- Do not report negative numbers of offline PGs in vitastor-cli status when changing PG count
- Report both old and new PG counts in vitastor-cli df when changing it
- Fix OSDs sometimes not starting with "The code only supports journal versions 1 and 2,
but it is 2 on disk" error after upgrading from pre-1.0 versions and letting OSDs run
for some time
- Fix monitors sometimes returning old PG count back after OSD configuration changes
- Make monitor PG changes more stable and timeout errors less probable
2023-11-05 01:48:57 +03:00
Vitaliy Filippov
cd3dec06ac
Remove spaces from old->new PG count in df
Test / test_interrupted_rebalance_ec (push) Successful in 1m50s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_snapshot_ec (push) Successful in 33s
Details
Test / test_snapshot_down (push) Successful in 29s
Details
Test / test_snapshot_down_ec (push) Successful in 32s
Details
Test / test_splitbrain (push) Successful in 24s
Details
Test / test_snapshot_chain (push) Successful in 2m34s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m9s
Details
Test / test_rebalance_verify (push) Successful in 4m9s
Details
Test / test_write (push) Successful in 40s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m15s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m29s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m21s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m38s
Details
Test / test_heal_ec (push) Successful in 6m14s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m22s
Details
Test / test_heal_csum_32k (push) Successful in 6m40s
Details
Test / test_scrub (push) Successful in 1m11s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m12s
Details
Test / test_scrub_xor (push) Successful in 1m16s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m4s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m34s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m4s
Details
Test / test_heal_csum_4k (push) Successful in 5m37s
Details
Test / test_scrub_ec (push) Successful in 43s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m14s
Details
Test / test_write_xor (push) Successful in 1m11s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m43s
Details
2023-11-05 01:45:45 +03:00
Vitaliy Filippov
e15b6e7805
Fix "cannot be narrowed" in clang
Test / test_snapshot_ec (push) Successful in 44s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 2m10s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_move_reappear (push) Failing after 51s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_splitbrain (push) Successful in 23s
Details
Test / test_snapshot_chain (push) Successful in 2m32s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m2s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m0s
Details
Test / test_write (push) Successful in 33s
Details
Test / test_rebalance_verify (push) Successful in 3m53s
Details
Test / test_write_no_same (push) Successful in 12s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m23s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m11s
Details
Test / test_write_xor (push) Failing after 3m12s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m47s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m17s
Details
Test / test_heal_ec (push) Successful in 5m34s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m43s
Details
Test / test_heal_csum_32k (push) Successful in 6m30s
Details
Test / test_scrub (push) Successful in 1m18s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m11s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m24s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m23s
Details
Test / test_scrub_xor (push) Successful in 54s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m1s
Details
Test / test_scrub_ec (push) Successful in 54s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m25s
Details
Test / test_heal_csum_4k (push) Successful in 6m10s
Details
2023-11-04 18:14:44 +03:00
Vitaliy Filippov
31017d8412
Allow to start with V2 journal with header size from V1, as incorrectly updated by previous versions
2023-11-04 18:13:42 +03:00
Vitaliy Filippov
4819854064
Fix OSDs incorrectly updating journal superblock after upgrade to 1.x from pre-1.x and refusing to start after it
Test / test_interrupted_rebalance_imm (push) Successful in 3m38s
Details
Test / test_snapshot_ec (push) Successful in 33s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_move_reappear (push) Failing after 47s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain (push) Successful in 2m31s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m7s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m54s
Details
Test / test_write (push) Successful in 32s
Details
Test / test_rebalance_verify (push) Successful in 3m46s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_write_xor (push) Successful in 37s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m56s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m0s
Details
Test / test_heal_pg_size_2 (push) Failing after 4m18s
Details
Test / test_heal_ec (push) Successful in 5m3s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m19s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m44s
Details
Test / test_heal_csum_32k (push) Successful in 6m37s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m46s
Details
Test / test_scrub (push) Successful in 1m5s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 48s
Details
Test / test_scrub_xor (push) Successful in 45s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m37s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m17s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m40s
Details
Test / test_scrub_ec (push) Successful in 34s
Details
Test / test_heal_csum_4k (push) Successful in 7m13s
Details
2023-11-04 15:02:24 +03:00
Vitaliy Filippov
1f509cca77
Fix unused capture warnings and void* arithmetic (clang)
Test / test_minsize_1 (push) Successful in 14s
Details
Test / test_snapshot_ec (push) Successful in 40s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_move_reappear (push) Successful in 18s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 33s
Details
Test / test_splitbrain (push) Successful in 22s
Details
Test / test_snapshot_chain (push) Successful in 2m31s
Details
Test / test_snapshot_chain_ec (push) Failing after 3m7s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m6s
Details
Test / test_write (push) Successful in 39s
Details
Test / test_rebalance_verify (push) Successful in 4m7s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m23s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m20s
Details
Test / test_write_xor (push) Failing after 3m9s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m55s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m44s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m8s
Details
Test / test_heal_csum_32k (push) Successful in 5m58s
Details
Test / test_heal_ec (push) Failing after 10m16s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 5m57s
Details
Test / test_scrub (push) Successful in 1m8s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 59s
Details
Test / test_scrub_xor (push) Successful in 47s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m30s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m7s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m34s
Details
Test / test_heal_csum_4k (push) Successful in 5m21s
Details
Test / test_scrub_ec (push) Successful in 43s
Details
2023-11-04 14:55:12 +03:00
Vitaliy Filippov
aa8e8e8271
Add version info to --help output
Test / test_minsize_1 (push) Successful in 16s
Details
Test / test_snapshot_ec (push) Successful in 39s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_down (push) Successful in 32s
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 2m31s
Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m47s
Details
Test / test_rebalance_verify (push) Successful in 3m38s
Details
Test / test_write (push) Successful in 38s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m19s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m6s
Details
Test / test_write_xor (push) Failing after 3m10s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m54s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m6s
Details
Test / test_heal_ec (push) Successful in 5m48s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m22s
Details
Test / test_heal_csum_32k (push) Successful in 6m30s
Details
Test / test_scrub (push) Successful in 1m18s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m12s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m38s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m14s
Details
Test / test_scrub_xor (push) Successful in 1m0s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 56s
Details
Test / test_scrub_ec (push) Successful in 51s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m20s
Details
Test / test_heal_csum_4k (push) Successful in 5m58s
Details
2023-11-04 13:32:12 +03:00
Vitaliy Filippov
4d79e531c5
Do not print "-X offline" in status when changing pool PG count, print it in df instead
Test / test_interrupted_rebalance_ec_imm (push) Successful in 2m20s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_ec (push) Successful in 36s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_move_reappear (push) Failing after 48s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain (push) Successful in 2m21s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m1s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m6s
Details
Test / test_write (push) Successful in 35s
Details
Test / test_rebalance_verify (push) Successful in 3m46s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m7s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m23s
Details
Test / test_write_xor (push) Failing after 3m8s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m15s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m39s
Details
Test / test_heal_ec (push) Successful in 6m35s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m5s
Details
Test / test_heal_csum_32k (push) Successful in 6m45s
Details
Test / test_scrub (push) Successful in 1m8s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m24s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m6s
Details
Test / test_scrub_xor (push) Successful in 41s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m18s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m29s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m34s
Details
Test / test_heal_csum_4k (push) Successful in 6m7s
Details
Test / test_scrub_ec (push) Successful in 30s
Details
2023-11-04 13:12:13 +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
becf14a705
Add a test for EC with multiple missing data chunks, but without recovery of first of them
2023-11-04 01:34:18 +03:00
Vitaliy Filippov
7c054c6f10
Add "id" to df --json output
2023-11-01 12:46:16 +03:00
Vitaliy Filippov
b4740acf62
Fix operations paused for 0.5-1 second when it happens that io_uring submit is not triggered
Test / test_snapshot (push) Successful in 24s
Details
Test / test_snapshot_ec (push) Successful in 33s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_rm (push) Successful in 17s
Details
Test / test_move_reappear (push) Failing after 48s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_splitbrain (push) Successful in 22s
Details
Test / test_snapshot_chain (push) Successful in 2m30s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m4s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m41s
Details
Test / test_write (push) Successful in 48s
Details
Test / test_rebalance_verify (push) Successful in 3m42s
Details
Test / test_write_no_same (push) Successful in 12s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m17s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m11s
Details
Test / test_write_xor (push) Failing after 3m8s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m40s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m9s
Details
Test / test_heal_ec (push) Successful in 6m31s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m30s
Details
Test / test_heal_csum_32k (push) Successful in 6m22s
Details
Test / test_scrub (push) Successful in 1m14s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m20s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m23s
Details
Test / test_scrub_xor (push) Successful in 1m4s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m2s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 59s
Details
Test / test_scrub_ec (push) Successful in 50s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m35s
Details
Test / test_heal_csum_4k (push) Successful in 6m1s
Details
2023-10-28 13:18:21 +03:00
Vitaliy Filippov
8222e3c77d
Release 1.1.0
...
Test / test_interrupted_rebalance_ec (push) Successful in 1m49s
Details
Test / test_snapshot_ec (push) Successful in 38s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_move_reappear (push) Failing after 49s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 22s
Details
Test / test_snapshot_chain (push) Successful in 2m25s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m5s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m51s
Details
Test / test_write (push) Successful in 34s
Details
Test / test_rebalance_verify (push) Successful in 3m38s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_write_xor (push) Successful in 50s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m3s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m0s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m2s
Details
Test / test_heal_ec (push) Successful in 4m49s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m27s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m44s
Details
Test / test_heal_csum_32k (push) Successful in 6m57s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m50s
Details
Test / test_scrub (push) Successful in 1m12s
Details
Test / test_scrub_xor (push) Successful in 48s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 54s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m14s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m32s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m38s
Details
Test / test_heal_csum_4k (push) Successful in 6m20s
Details
Test / test_scrub_ec (push) Successful in 27s
Details
New features:
- Implement [client writeback cache](docs/config/client.en.md#client_enable_writeback)
- Add the third I/O mode: [O_DIRECT|O_SYNC](docs/config/osd.en.md#data_io) (good for Optane)
- Reduce load on etcd by splitting OSD lease and statistics reporting intervals:
[etcd_stats_interval](docs/config/osd.en.md#etcd_stats_interval) (default 30 sec)
- Make MON automatically filter OSDs by layout (block_size/immediate_commit/bitmap_granularity)
to prevent "refusing to start PGs of this pool" errors on misconfiguration
- Support running fio benchmarks on systems without io_uring
- Make QEMU driver compatible with QEMU 8.1
- Document usage of [vhost-user-blk](docs/usage/qemu.en.md#vhost-user-blk)
Bug fixes:
- Fix resizing disks in QEMU driver (for example, in Proxmox)
- Fix "unexpected result" in Proxmox driver by making CLI flush output on exit
- Remove unneeded block_size mismatch warnings on pools without matching PGs
- Fix possible segfault in vitastor-cli ls -l (usually with deleted pools)
- Fix QEMU driver compatibility with systems without io_uring
- Fix monitor eating 100% CPU when etcd is down (caused by infinite retries)
- Fix potential incorrect write processing with snapshots (not caught in tests
but could probably lead to client hangs)
- Fix buffer insertion in cluster_client (not caught in tests but could
probably lead to incorrect writes in rare cases)
- Fix rare OSD crash during sync operation processing
- Fix a reenterability issue in cluster_client not reproducible in QEMU/fio,
but reproducible with the currently developed K/V database implementation
- Fix deletion of the first modified object - OSDs could crash if you modified
the same object a lot of times, then deleted it, and then modified it again
- Fix the fio_sec_osd test tool
2023-10-28 00:33:06 +03:00
Vitaliy Filippov
be7e76f849
Split etcd_stats_interval out of etcd_report_interval
Test / test_interrupted_rebalance_ec (push) Successful in 1m46s
Details
Test / test_snapshot_ec (push) Successful in 36s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_snapshot_down (push) Successful in 29s
Details
Test / test_snapshot_down_ec (push) Successful in 30s
Details
Test / test_splitbrain (push) Successful in 26s
Details
Test / test_snapshot_chain (push) Successful in 2m15s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m57s
Details
Test / test_rebalance_verify_imm (push) Successful in 2m29s
Details
Test / test_rebalance_verify (push) Successful in 3m40s
Details
Test / test_write (push) Successful in 1m0s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_write_xor (push) Successful in 50s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m58s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m21s
Details
Test / test_heal_ec (push) Successful in 4m5s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m36s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m28s
Details
Test / test_heal_csum_32k (push) Successful in 6m38s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m46s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 59s
Details
Test / test_scrub (push) Successful in 1m16s
Details
Test / test_scrub_xor (push) Successful in 53s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m57s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m18s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m7s
Details
Test / test_heal_csum_4k (push) Successful in 5m43s
Details
Test / test_scrub_ec (push) Successful in 32s
Details
2023-10-27 01:26:26 +03:00
Vitaliy Filippov
294a754c9e
Allow write-back by default in NBD & NFS
2023-10-27 01:26:26 +03:00
Vitaliy Filippov
8bfea6e7de
Support vitastor_c_create_epoll() in fio driver
Test / test_snapshot_ec (push) Successful in 29s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_rm (push) Successful in 21s
Details
Test / test_snapshot_down (push) Successful in 27s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m29s
Details
Test / test_splitbrain (push) Successful in 20s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_snapshot_chain (push) Successful in 2m35s
Details
Test / test_rebalance_verify (push) Successful in 3m22s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m22s
Details
Test / test_write (push) Successful in 32s
Details
Test / test_write_no_same (push) Successful in 12s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m56s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m51s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m21s
Details
Test / test_heal_ec (push) Successful in 5m45s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m43s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m10s
Details
Test / test_heal_csum_32k (push) Successful in 6m29s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m51s
Details
Test / test_scrub (push) Successful in 36s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 34s
Details
Test / test_heal_csum_4k (push) Successful in 5m35s
Details
Test / test_scrub_xor (push) Successful in 35s
Details
Test / test_write_xor (push) Successful in 1m31s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 31s
Details
Test / test_scrub_pg_size_3 (push) Successful in 42s
Details
Test / test_scrub_ec (push) Successful in 20s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m23s
Details
2023-10-26 22:57:36 +03:00
Vitaliy Filippov
bac9e34836
Allow to create vitastor_c with plain epoll without uring :-)
2023-10-26 22:57:36 +03:00
Vitaliy Filippov
8aa4d492c1
Allow to use epoll_manager without ringloop
2023-10-26 22:57:36 +03:00
Vitaliy Filippov
9336ee5476
Correctly free manual "small vector" in cluster_client %-)
2023-10-26 22:57:36 +03:00
Vitaliy Filippov
ad30b11519
Add the missing ringloop creation check to vitastor_c_create_uring_json()
Test / test_minsize_1 (push) Failing after 1s
Details
Test / test_move_reappear (push) Failing after 1s
Details
Test / test_rm (push) Failing after 0s
Details
Test / test_snapshot_chain (push) Failing after 0s
Details
Test / test_snapshot_chain_ec (push) Failing after 1s
Details
Test / test_snapshot_down (push) Failing after 1s
Details
Test / test_snapshot_down_ec (push) Failing after 0s
Details
Test / test_splitbrain (push) Failing after 1s
Details
Test / test_rebalance_verify (push) Failing after 1s
Details
Test / test_rebalance_verify_imm (push) Failing after 1s
Details
Test / test_rebalance_verify_ec (push) Failing after 1s
Details
Test / test_rebalance_verify_ec_imm (push) Failing after 1s
Details
Test / test_write (push) Failing after 1s
Details
Test / test_write_xor (push) Failing after 1s
Details
Test / test_write_no_same (push) Failing after 1s
Details
Test / test_heal_pg_size_2 (push) Failing after 1s
Details
Test / test_heal_ec (push) Failing after 1s
Details
Test / test_heal_csum_32k_dmj (push) Failing after 1s
Details
Test / test_heal_csum_32k_dj (push) Failing after 1s
Details
Test / test_heal_csum_32k (push) Failing after 1s
Details
Test / test_heal_csum_4k_dmj (push) Failing after 1s
Details
Test / test_heal_csum_4k_dj (push) Failing after 1s
Details
Test / test_heal_csum_4k (push) Failing after 1s
Details
Test / test_scrub (push) Failing after 1s
Details
Test / test_scrub_zero_osd_2 (push) Failing after 1s
Details
Test / test_scrub_xor (push) Failing after 1s
Details
Test / test_scrub_pg_size_3 (push) Failing after 1s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Failing after 0s
Details
Test / test_scrub_ec (push) Failing after 1s
Details
Test / build (push) Successful in 2m35s
Details
2023-10-26 18:07:23 +03:00
Vitaliy Filippov
a061246997
Do not attempt to initialize QEMU driver via vitastor_c_create_qemu_uring()
...
Test / test_snapshot_ec (push) Successful in 38s
Details
Test / test_minsize_1 (push) Successful in 18s
Details
Test / test_rm (push) Successful in 17s
Details
Test / test_snapshot_down (push) Failing after 26s
Details
Test / test_move_reappear (push) Failing after 52s
Details
Test / test_snapshot_down_ec (push) Failing after 27s
Details
Test / test_splitbrain (push) Successful in 25s
Details
Test / test_snapshot_chain (push) Successful in 2m28s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m6s
Details
Test / test_rebalance_verify (push) Successful in 3m30s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m29s
Details
Test / test_rebalance_verify_ec (push) Has been cancelled
Details
Test / test_write_no_same (push) Has been cancelled
Details
Test / test_heal_pg_size_2 (push) Has been cancelled
Details
Test / test_heal_ec (push) Has been cancelled
Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_32k_dj (push) Has been cancelled
Details
Test / test_heal_csum_32k (push) Has been cancelled
Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_4k_dj (push) Has been cancelled
Details
Test / test_heal_csum_4k (push) Has been cancelled
Details
Test / test_scrub (push) Has been cancelled
Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled
Details
Test / test_scrub_xor (push) Has been cancelled
Details
Test / test_scrub_pg_size_3 (push) Has been cancelled
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled
Details
Test / test_write_xor (push) Has been cancelled
Details
Test / test_scrub_ec (push) Has been cancelled
Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled
Details
Test / test_write (push) Has been cancelled
Details
It doesn't add any compatibility because vitastor_c_uring_register_eventfd()
is added in the same VITASTOR_C_API_VERSION 2.
2023-10-26 17:46:19 +03:00
Vitaliy Filippov
5066e35a49
Fix write-over-delete failing for the very first entry in dirty_db
Test / test_minsize_1 (push) Successful in 17s
Details
Test / test_snapshot_ec (push) Successful in 38s
Details
Test / test_rm (push) Successful in 17s
Details
Test / test_snapshot_down (push) Failing after 27s
Details
Test / test_move_reappear (push) Failing after 53s
Details
Test / test_snapshot_down_ec (push) Failing after 27s
Details
Test / test_splitbrain (push) Successful in 25s
Details
Test / test_snapshot_chain (push) Successful in 2m28s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m59s
Details
Test / test_rebalance_verify (push) Successful in 3m22s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m21s
Details
Test / test_write (push) Successful in 42s
Details
Test / test_write_xor (push) Successful in 48s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m41s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m8s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m17s
Details
Test / test_heal_ec (push) Successful in 4m33s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m23s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m18s
Details
Test / test_heal_csum_32k (push) Successful in 6m44s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m53s
Details
Test / test_scrub (push) Successful in 1m11s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m5s
Details
Test / test_scrub_xor (push) Successful in 1m1s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m58s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m2s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m41s
Details
Test / test_scrub_ec (push) Successful in 37s
Details
Test / test_heal_csum_4k (push) Successful in 6m4s
Details
2023-10-21 17:00:14 +03:00
Vitaliy Filippov
93dc31f3fc
Fix possible segfault in vitastor-cli ls -l
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m21s
Details
Test / test_snapshot_ec (push) Successful in 32s
Details
Test / test_rm (push) Successful in 17s
Details
Test / test_snapshot_down (push) Failing after 26s
Details
Test / test_move_reappear (push) Failing after 52s
Details
Test / test_splitbrain (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Failing after 26s
Details
Test / test_snapshot_chain (push) Successful in 2m22s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m44s
Details
Test / test_rebalance_verify (push) Successful in 3m20s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m20s
Details
Test / test_write (push) Successful in 36s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m59s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 3m49s
Details
Test / test_write_xor (push) Failing after 3m11s
Details
Test / test_heal_pg_size_2 (push) Failing after 4m40s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m13s
Details
Test / test_heal_ec (push) Successful in 5m32s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m1s
Details
Test / test_heal_csum_32k (push) Successful in 6m54s
Details
Test / test_scrub (push) Successful in 1m28s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m1s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m7s
Details
Test / test_heal_csum_4k_dj (push) Successful in 7m25s
Details
Test / test_scrub_xor (push) Successful in 59s
Details
Test / test_heal_csum_4k (push) Successful in 6m39s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 59s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m6s
Details
Test / test_scrub_ec (push) Successful in 35s
Details
2023-10-18 11:11:41 +03:00
Vitaliy Filippov
f245b56176
Fix another possible reenterability issue in cluster_client
...
Test / test_interrupted_rebalance_ec_imm (push) Successful in 2m9s
Details
Test / test_snapshot_ec (push) Successful in 42s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_snapshot_down (push) Failing after 27s
Details
Test / test_move_reappear (push) Failing after 50s
Details
Test / test_snapshot_down_ec (push) Failing after 26s
Details
Test / test_splitbrain (push) Successful in 23s
Details
Test / test_snapshot_chain (push) Successful in 2m26s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m58s
Details
Test / test_rebalance_verify (push) Successful in 3m26s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m27s
Details
Test / test_write (push) Successful in 42s
Details
Test / test_write_xor (push) Successful in 51s
Details
Test / test_write_no_same (push) Successful in 16s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m56s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m11s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m18s
Details
Test / test_heal_ec (push) Successful in 5m5s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m7s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m14s
Details
Test / test_heal_csum_32k (push) Successful in 6m54s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m55s
Details
Test / test_scrub (push) Successful in 1m23s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m8s
Details
Test / test_scrub_xor (push) Successful in 1m0s
Details
Test / test_heal_csum_4k_dj (push) Successful in 7m15s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m7s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m40s
Details
Test / test_scrub_ec (push) Successful in 42s
Details
Test / test_heal_csum_4k (push) Successful in 6m17s
Details
Non-reproducible in QEMU/FIO, only caught during K/V DB debugging
2023-10-08 11:02:53 +03:00
Vitaliy Filippov
38db53f5ee
Implement client writeback cache
...
- Disabled by default, enable with client_enable_writeback=true
- Even then only enabled in FIO when -direct is disabled and in QEMU when
block device cache is enabled in settings
- Can also be enabled in other clients like vitastor-cli using parameter
client_writeback_allowed=true, but not recommended
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
cd543a90bc
Prevent stack overflows in cli_merge with CAS and writeback cache
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
f600cc07b0
Autosync in blockstore every autosync_writes, too
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
6a8e530e6b
Add FIXME to timerfd_manager
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
5cadb170b9
Fix possible OSD crash during sync due to missing min_flushed_journal_sector reset
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
e72d4ed1d4
Remove unused bs_sync fields
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
ff479a102d
Make MON filter OSDs by block layout to prevent "refusing to start PGs of this pool" errors on misconfiguration
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
27d0d5b06a
Reads do not have to wait for buffer flushes anymore
2023-09-16 17:52:17 +03:00
Vitaliy Filippov
33950c1ec8
Fix fio_sec_osd attr_len
Test / test_failure_domain (push) Has been cancelled
Details
Test / test_snapshot (push) Has been cancelled
Details
Test / test_snapshot_ec (push) Has been cancelled
Details
Test / test_minsize_1 (push) Has been cancelled
Details
Test / test_move_reappear (push) Has been cancelled
Details
Test / test_rm (push) Has been cancelled
Details
Test / test_snapshot_chain (push) Has been cancelled
Details
Test / test_snapshot_chain_ec (push) Has been cancelled
Details
Test / test_snapshot_down (push) Has been cancelled
Details
Test / test_snapshot_down_ec (push) Has been cancelled
Details
Test / test_splitbrain (push) Has been cancelled
Details
Test / test_rebalance_verify (push) Has been cancelled
Details
Test / test_rebalance_verify_imm (push) Has been cancelled
Details
Test / test_rebalance_verify_ec (push) Has been cancelled
Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled
Details
Test / test_write (push) Has been cancelled
Details
Test / test_write_xor (push) Has been cancelled
Details
Test / test_write_no_same (push) Has been cancelled
Details
Test / test_heal_pg_size_2 (push) Has been cancelled
Details
Test / test_heal_ec (push) Has been cancelled
Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_32k_dj (push) Has been cancelled
Details
Test / test_heal_csum_32k (push) Has been cancelled
Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_4k_dj (push) Has been cancelled
Details
Test / test_heal_csum_4k (push) Has been cancelled
Details
Test / test_scrub (push) Has been cancelled
Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled
Details
Test / test_scrub_xor (push) Has been cancelled
Details
Test / build (push) Has been cancelled
Details
2023-09-16 17:49:10 +03:00
Vitaliy Filippov
cc0fdc6253
Remove erroneous block_size mismatch warnings on pools without matching PGs
Test / test_snapshot_ec (push) Successful in 36s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_down (push) Successful in 24s
Details
Test / test_move_reappear (push) Failing after 52s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain (push) Successful in 2m23s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m58s
Details
Test / test_rebalance_verify (push) Successful in 3m32s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m29s
Details
Test / test_write (push) Successful in 52s
Details
Test / test_write_xor (push) Successful in 56s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m0s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m30s
Details
Test / test_heal_ec (push) Successful in 4m6s
Details
Test / test_heal_pg_size_2 (push) Failing after 4m19s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m2s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m12s
Details
Test / test_heal_csum_32k (push) Successful in 6m24s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m19s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m8s
Details
Test / test_scrub (push) Successful in 1m15s
Details
Test / test_scrub_xor (push) Successful in 1m8s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m45s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m58s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m9s
Details
Test / test_scrub_ec (push) Successful in 42s
Details
Test / test_heal_csum_4k (push) Successful in 5m26s
Details
2023-09-08 23:19:04 +03:00
Vitaliy Filippov
79ecd59b10
Flush STDOUT and STDERR before exiting from cli to fix Proxmox "Unexpected result"
Test / test_interrupted_rebalance_ec (push) Successful in 1m51s
Details
Test / test_snapshot_ec (push) Successful in 33s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 18s
Details
Test / test_snapshot_down (push) Successful in 29s
Details
Test / test_snapshot_down_ec (push) Successful in 30s
Details
Test / test_splitbrain (push) Successful in 21s
Details
Test / test_snapshot_chain (push) Successful in 2m18s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m55s
Details
Test / test_rebalance_verify (push) Successful in 3m15s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s
Details
Test / test_write (push) Successful in 47s
Details
Test / test_write_xor (push) Successful in 57s
Details
Test / test_write_no_same (push) Successful in 17s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m3s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m24s
Details
Test / test_heal_pg_size_2 (push) Failing after 3m44s
Details
Test / test_heal_ec (push) Successful in 4m55s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m48s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m11s
Details
Test / test_heal_csum_32k (push) Successful in 6m14s
Details
Test / test_scrub (push) Successful in 1m32s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m33s
Details
Test / test_scrub_xor (push) Successful in 59s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m7s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m25s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m21s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m46s
Details
Test / test_scrub_ec (push) Successful in 53s
Details
Test / test_heal_csum_4k (push) Successful in 5m20s
Details
2023-09-07 17:30:26 +03:00
Vitaliy Filippov
b7d398be5b
Fix sscanf validation usage (field count instead of null_byte == 0)
Test / test_minsize_1 (push) Has been cancelled
Details
Test / test_move_reappear (push) Has been cancelled
Details
Test / test_rm (push) Has been cancelled
Details
Test / test_snapshot_chain (push) Has been cancelled
Details
Test / test_snapshot_chain_ec (push) Has been cancelled
Details
Test / test_snapshot_down (push) Has been cancelled
Details
Test / test_snapshot_down_ec (push) Has been cancelled
Details
Test / test_splitbrain (push) Has been cancelled
Details
Test / test_rebalance_verify (push) Has been cancelled
Details
Test / build (push) Has been cancelled
Details
Test / test_rebalance_verify_imm (push) Has been cancelled
Details
Test / test_rebalance_verify_ec (push) Has been cancelled
Details
Test / test_rebalance_verify_ec_imm (push) Has been cancelled
Details
Test / test_write (push) Has been cancelled
Details
Test / test_write_xor (push) Has been cancelled
Details
Test / test_write_no_same (push) Has been cancelled
Details
Test / test_heal_pg_size_2 (push) Has been cancelled
Details
Test / test_heal_ec (push) Has been cancelled
Details
Test / test_heal_csum_32k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_32k_dj (push) Has been cancelled
Details
Test / test_heal_csum_32k (push) Has been cancelled
Details
Test / test_heal_csum_4k_dmj (push) Has been cancelled
Details
Test / test_heal_csum_4k_dj (push) Has been cancelled
Details
Test / test_heal_csum_4k (push) Has been cancelled
Details
Test / test_scrub (push) Has been cancelled
Details
Test / test_scrub_zero_osd_2 (push) Has been cancelled
Details
Test / test_scrub_xor (push) Has been cancelled
Details
Test / test_scrub_pg_size_3 (push) Has been cancelled
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Has been cancelled
Details
Test / test_scrub_ec (push) Has been cancelled
Details
2023-09-07 02:34:35 +03:00
Vitaliy Filippov
85e9f67d9d
Add supported_truncate_flags
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m19s
Details
Test / test_rm (push) Successful in 16s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_snapshot_down_ec (push) Successful in 25s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_snapshot_chain (push) Successful in 2m13s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m54s
Details
Test / test_rebalance_verify (push) Successful in 3m25s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m22s
Details
Test / test_write (push) Successful in 52s
Details
Test / test_write_xor (push) Successful in 55s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m50s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 6m8s
Details
Test / test_heal_ec (push) Successful in 5m1s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m32s
Details
Test / test_heal_csum_32k (push) Successful in 6m14s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m23s
Details
Test / test_scrub (push) Successful in 1m27s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m24s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m15s
Details
Test / test_scrub_xor (push) Successful in 58s
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 55s
Details
Test / test_scrub_ec (push) Successful in 53s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m24s
Details
Test / test_heal_csum_4k (push) Successful in 4m44s
Details
Test / test_move_reappear (push) Successful in 20s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m1s
Details
2023-09-06 17:37:52 +03:00
Vitaliy Filippov
79c6d6f323
Make QEMU driver compatible with QEMU 8.1
Test / test_snapshot_ec (push) Successful in 31s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_chain (push) Successful in 2m2s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m44s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_splitbrain (push) Successful in 16s
Details
Test / test_rebalance_verify (push) Successful in 3m10s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m10s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m39s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 7m1s
Details
Test / test_write (push) Successful in 36s
Details
Test / test_write_xor (push) Successful in 1m11s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m1s
Details
Test / test_heal_ec (push) Successful in 6m7s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m19s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m7s
Details
Test / test_heal_csum_32k (push) Successful in 6m21s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m22s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m40s
Details
Test / test_heal_csum_4k (push) Successful in 5m34s
Details
Test / test_scrub (push) Successful in 1m2s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 46s
Details
Test / test_scrub_xor (push) Successful in 38s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m7s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 50s
Details
Test / test_scrub_ec (push) Successful in 48s
Details
2023-08-24 02:23:55 +03:00
Vitaliy Filippov
ae760dbc1d
Fix co_truncate size division by BDRV_SECTOR_SIZE
2023-08-24 01:55:35 +03:00
Vitaliy Filippov
65487da4b1
Do not include msgr_rdma.h into messenger.h
2023-08-24 01:55:35 +03:00
Vitaliy Filippov
7862282938
Extract validation to check_rw(), remove duplicate code with OP_SYNC
Test / test_snapshot_ec (push) Successful in 19s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 18s
Details
Test / test_rm (push) Successful in 11s
Details
Test / test_snapshot_chain (push) Successful in 59s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m41s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 22s
Details
Test / test_splitbrain (push) Successful in 14s
Details
Test / test_rebalance_verify (push) Successful in 3m23s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m19s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m33s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m28s
Details
Test / test_write (push) Successful in 51s
Details
Test / test_write_xor (push) Successful in 1m6s
Details
Test / test_write_no_same (push) Successful in 18s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m26s
Details
Test / test_heal_ec (push) Successful in 5m21s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m56s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m2s
Details
Test / test_heal_csum_32k (push) Successful in 6m41s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m53s
Details
Test / test_heal_csum_4k_dj (push) Successful in 3m58s
Details
Test / test_heal_csum_4k (push) Successful in 4m55s
Details
Test / test_scrub (push) Successful in 48s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 54s
Details
Test / test_scrub_xor (push) Successful in 50s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m4s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 46s
Details
Test / test_scrub_ec (push) Successful in 47s
Details
2023-08-13 23:49:52 +03:00
Vitaliy Filippov
30ce2bd951
Fix buffer insert in cluster_client
2023-08-12 11:08:50 +03:00
Vitaliy Filippov
b1a0afd10a
Aggregate buffer flushes
Test / test_snapshot_ec (push) Successful in 30s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Successful in 17s
Details
Test / test_rm (push) Successful in 14s
Details
Test / test_snapshot_chain (push) Successful in 2m21s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m56s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_down_ec (push) Successful in 23s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_rebalance_verify (push) Successful in 3m39s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m35s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m6s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 6m8s
Details
Test / test_write (push) Successful in 50s
Details
Test / test_write_xor (push) Successful in 55s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m14s
Details
Test / test_heal_ec (push) Successful in 5m2s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m1s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m12s
Details
Test / test_heal_csum_32k (push) Successful in 6m35s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m18s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m24s
Details
Test / test_heal_csum_4k (push) Successful in 5m12s
Details
Test / test_scrub (push) Successful in 1m39s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 49s
Details
Test / test_scrub_xor (push) Successful in 45s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m19s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 57s
Details
Test / test_scrub_ec (push) Successful in 59s
Details
2023-08-11 11:26:13 +03:00
Vitaliy Filippov
85b6134910
Return dirty buffers on read in client
...
Test / test_snapshot_ec (push) Successful in 22s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 13s
Details
Test / test_snapshot_chain (push) Successful in 1m57s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m39s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 25s
Details
Test / test_splitbrain (push) Successful in 15s
Details
Test / test_rebalance_verify (push) Successful in 3m4s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m7s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m26s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 7m35s
Details
Test / test_write (push) Successful in 35s
Details
Test / test_write_xor (push) Successful in 38s
Details
Test / test_write_no_same (push) Successful in 21s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m58s
Details
Test / test_heal_ec (push) Successful in 3m15s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 4m52s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m3s
Details
Test / test_heal_csum_32k (push) Successful in 5m26s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m12s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m9s
Details
Test / test_heal_csum_4k (push) Successful in 5m13s
Details
Test / test_scrub (push) Successful in 1m24s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m15s
Details
Test / test_scrub_xor (push) Successful in 1m5s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m45s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m11s
Details
Test / test_scrub_ec (push) Successful in 56s
Details
Required at least to return buffers when they need to be replayed, but until
they are actually replayed
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
b1b07a393d
Fix incorrect marking op parts as done with snapshots (could probably lead to client hangs)
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
7333022adf
Add a third I/O mode: O_DIRECT|O_SYNC, change parameters to data_io/meta_io/journal_io
2023-08-09 00:57:08 +03:00
Vitaliy Filippov
6acf562e01
Release 1.0.0
...
New features:
- Data and metadata checksums!
- Metadata checksums are always used with new disk format
- Data checksums can be turned on with --data_csum_type crc32c for new OSDs
- Checksum block size can be configured
- inmemory_metadata now also affects keeping checksums in memory
- Linux page cache I/O caching support which can be enabled separately for
data, metadata (including checksums) and journal (O_SYNC instead of O_DIRECT)
- Details [here](https://git.yourcmc.ru/vitalif/vitastor/src/branch/master/docs/config/layout-osd.en.md#data_csum_type )
- Backwards compatibility is preserved, you can use new OSDs with old disks
Release also includes bug fixes from [0.9.6](https://git.yourcmc.ru/vitalif/vitastor/releases/tag/v0.9.6 ).
0.9.6 is moved to "-oldstable" repositories and will be available for some additional time.
2023-07-29 18:57:19 +03:00
Vitaliy Filippov
564df2eb5d
Support using buffered I/O with O_SYNC instead of direct I/O
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
1a4ceb420d
Track used blocks, not object versions
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
21b5124a4b
Document data_csum_type and csum_block_size parameters
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
4181add1f4
Remove creepy "metadata copying" during overwrite
...
Instead of it, just do not verify checksums of currently mutated objects.
When clean data modification during flush runs in parallel to a read request,
that request may read a mix of old and new data. It may even read a mix of
multiple flushed versions if it lasts too long... And attempts to verify it
using temporary copies of metadata make the algorithm too complex and creepy.
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
a8464c19af
Support keeping checksums on disk (not in memory)
...
Definitely beneficial for SSD+HDD setups
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
3c8e4c6b72
Use clean_dyn_size for space check
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
8ef4cf89dc
Log more details about checksum mismatch in big_writes
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
7bfb1639ea
Use find_holes() in flusher for unification
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
628e481c32
Fill journal header to know checksum type & size when dumping journal with --all
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
af6f2046fc
Fix journal read checksum verification with inmemory_journal=false
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
9357e5293e
Call fill_partial_checksum_blocks() correctly in regard to COPY_BUF_CSUM_FILL
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
12851dc07d
Wait for journal reads before checking them in clear_incomplete_csum_block_bits
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
d6ee1ca17c
Use zero checksum size for zero-length writes
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
71674d00cf
Fix journal data checksum mangling on corrupted block overwrite
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
ddb078d5a7
Check journal entry size when checking block checksums
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
d22d56f90a
Fix journal data checksum verification on start
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
eb1331a079
Add more details to "journal entry data is corrupt" messages
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
c5274f655b
...and partially remove the perversion with bitmap inlining
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
45e07d6294
Sadly we have to refcount dyn_data...
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
a8ee391e05
Fix clean block checksum read
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
de48fa3fd2
Allow to forcibly set meta_format
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
874a766b62
Rename meta_version to meta_format
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
384bd8e28f
Support old metadata format in vitastor-disk dump-meta
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
430994f48a
Fix journal big_write simple reads after checksum changes
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
b909d81f41
Fix bitmap-granular checksums
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
e42975ffd1
Fix wait_journal_count not being zeroed
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
93778324e5
Rewrite and fix find_holes into a more obvious version
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
eeb6727170
Fix missing checksum read offset
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
92c6e16eba
Fix checksum verification in big_write journal reads
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
213a9ccb4d
Verify checksums during journal reads
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
a166147110
Add backwards compatibility with non-checksum metadata and journal formats
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
7d532880c3
Implement large csum_block_size support (more than 4k) + refactor blockstore_flush
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
0b0405d115
Implement bitmap-granular (4k) metadata & data checksums
2023-07-29 12:17:18 +03:00
Vitaliy Filippov
e651c93a90
Release 0.9.6
...
Test / test_interrupted_rebalance (push) Successful in 1m59s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 3m41s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m53s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m29s
Details
Test / test_failure_domain (push) Successful in 50s
Details
Test / test_snapshot (push) Successful in 45s
Details
Test / test_snapshot_ec (push) Successful in 23s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_move_reappear (push) Successful in 18s
Details
Test / test_rm (push) Successful in 15s
Details
Test / test_snapshot_chain (push) Successful in 2m23s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m1s
Details
Test / test_snapshot_down (push) Successful in 31s
Details
Test / test_snapshot_down_ec (push) Successful in 32s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_rebalance_verify (push) Successful in 3m34s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m31s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m14s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m14s
Details
Test / test_write (push) Successful in 44s
Details
Test / test_write_xor (push) Successful in 54s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m38s
Details
Test / test_heal_ec (push) Successful in 3m56s
Details
Test / test_scrub (push) Successful in 36s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 35s
Details
Test / test_scrub_xor (push) Successful in 31s
Details
Test / test_scrub_pg_size_3 (push) Successful in 46s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 25s
Details
Test / test_scrub_ec (push) Successful in 24s
Details
- Fix vitastor-disk partition zeroing (sometimes it was writing garbage instead of zeroes)
- Fix incorrect EC space statistics in `vitastor-cli status`
- Several bug fixes for NFS:
- Add . and .. in NFS directory listings
- Return FILE_SYNC from NFS writes if immediate_commit is enabled
- Return the same "verifier" in NFS COMMIT as in NFS WRITE
- Make parallel NFS extending writes work correctly, without conflicts
- Handle parallel NFS extending writes without imposing extra load on etcd
- Support UTF-8 in vitastor-cli table output
- Also allow "0" and "no" as false for inmemory_metadata and inmemory_journal
- Use HDD defaults for HDD-only in automatic `vitastor-disk prepare` mode
2023-07-29 10:54:00 +03:00
Vitaliy Filippov
988e90be69
Fix vitastor-disk partition zeroing (it was writing random garbage instead of zeroes :D)
Test / test_interrupted_rebalance (push) Successful in 1m59s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m38s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m12s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m18s
Details
Test / test_failure_domain (push) Successful in 8s
Details
Test / test_snapshot (push) Successful in 19s
Details
Test / test_snapshot_ec (push) Successful in 20s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 18s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_chain (push) Successful in 1m3s
Details
Test / test_snapshot_chain_ec (push) Successful in 1m25s
Details
Test / test_snapshot_down (push) Successful in 20s
Details
Test / test_snapshot_down_ec (push) Successful in 20s
Details
Test / test_splitbrain (push) Successful in 12s
Details
Test / test_rebalance_verify (push) Successful in 3m16s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m40s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m17s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m20s
Details
Test / test_write (push) Successful in 40s
Details
Test / test_write_xor (push) Successful in 33s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m54s
Details
Test / test_heal_ec (push) Successful in 4m7s
Details
Test / test_scrub (push) Successful in 58s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 53s
Details
Test / test_scrub_xor (push) Successful in 40s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m6s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 37s
Details
Test / test_scrub_ec (push) Successful in 39s
Details
2023-07-28 12:29:07 +03:00
Vitaliy Filippov
700e0e9bff
Handle parallel NFS extending writes without imposing extra load on etcd
2023-07-27 02:26:17 +00:00
Vitaliy Filippov
ab0ca7c00f
Return FILE_SYNC from NFS writes if immediate_commit is enabled
2023-07-26 02:09:47 +03:00
Vitaliy Filippov
f153bc950b
Return the same "verifier" in NFS COMMIT as in NFS WRITE
...
This fixes buffered (not O_DIRECT) NFS writes in Linux - previously they were
hanging in an infinite loop because COMMIT didn't return the same verifier as
previous WRITEs, and NFS kernel client was infinitely retrying the same writes.
Also this probably allows for correct NFS failover, at least for the same
buffered writes, because NFS clients repeat all write requests until a COMMIT
confirms them.
2023-07-26 02:09:47 +03:00
Vitaliy Filippov
425ff8818d
Add . and .. in NFS directory listings
...
MC, for example, hangs with infinite listing retries without them
2023-07-26 02:09:47 +03:00
Vitaliy Filippov
9e287a7778
Handle extending writes correctly in NFS proxy
...
Previously, multiple parallel writes extending file size through NFS were
racing with each other and triggering deletions of part of the written data
I.e. if you mounted vitastor-nfs and just copied a file into it in MC then
you could end up with only a part of the file actually written
2023-07-26 02:09:43 +03:00
Vitaliy Filippov
f52f58b9e9
Support UTF-8 in vitastor-cli table output
2023-07-25 01:48:57 +00:00
Vitaliy Filippov
1fe6b0c0e2
Also allow "0" and "no" as false for inmemory_metadata and inmemory_journal
2023-07-25 01:48:57 +00:00
Vitaliy Filippov
e4237e9ed8
Enable HDD defaults for HDD-only in automatic `vitastor-disk prepare` mode
Test / test_interrupted_rebalance (push) Successful in 2m20s
Details
Test / test_interrupted_rebalance_imm (push) Failing after 10m5s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m4s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m19s
Details
Test / test_failure_domain (push) Successful in 39s
Details
Test / test_snapshot (push) Successful in 34s
Details
Test / test_snapshot_ec (push) Successful in 23s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 19s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_chain (push) Successful in 1m59s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m40s
Details
Test / test_snapshot_down (push) Successful in 22s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_splitbrain (push) Successful in 15s
Details
Test / test_rebalance_verify (push) Successful in 3m10s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m11s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m29s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m54s
Details
Test / test_write (push) Successful in 32s
Details
Test / test_write_xor (push) Successful in 35s
Details
Test / test_write_no_same (push) Successful in 18s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m59s
Details
Test / test_heal_ec (push) Successful in 5m12s
Details
Test / test_scrub (push) Successful in 59s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 47s
Details
Test / test_scrub_xor (push) Successful in 30s
Details
Test / test_scrub_pg_size_3 (push) Successful in 53s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 38s
Details
Test / test_scrub_ec (push) Successful in 22s
Details
2023-07-23 02:33:22 +03:00
Vitaliy Filippov
10a5fd6abb
Release 0.9.5
...
Test / test_etcd_fail (push) Successful in 50s
Details
Test / test_interrupted_rebalance (push) Successful in 2m27s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m39s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m49s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m29s
Details
Test / test_failure_domain (push) Successful in 19s
Details
Test / test_snapshot (push) Successful in 31s
Details
Test / test_snapshot_ec (push) Successful in 26s
Details
Test / test_minsize_1 (push) Successful in 15s
Details
Test / test_rm (push) Successful in 18s
Details
Test / test_snapshot_chain (push) Successful in 1m49s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m51s
Details
Test / test_snapshot_down (push) Successful in 26s
Details
Test / test_snapshot_down_ec (push) Successful in 24s
Details
Test / test_splitbrain (push) Successful in 18s
Details
Test / test_rebalance_verify (push) Successful in 3m8s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m13s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m36s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m59s
Details
Test / test_write (push) Successful in 48s
Details
Test / test_write_xor (push) Successful in 37s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m43s
Details
Test / test_heal_ec (push) Successful in 4m6s
Details
Test / test_scrub (push) Successful in 35s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 34s
Details
Test / test_scrub_xor (push) Successful in 42s
Details
Test / test_scrub_pg_size_3 (push) Successful in 52s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 33s
Details
Test / test_scrub_ec (push) Successful in 28s
Details
A hotfix to 0.9.4 containing only one bugfix: 100% CPU usage in the new QEMU
driver caused by the lack of eventfd reset on io_uring event handling :)
2023-07-21 00:04:41 +03:00
Vitaliy Filippov
1c316ef350
Reset eventfd on every ringloop::loop()
2023-07-21 00:04:41 +03:00
Vitaliy Filippov
0b2d12eef1
Remove has_work, it was unnecessary
2023-07-21 00:04:37 +03:00
Vitaliy Filippov
1c10430ae1
Release 0.9.4
...
Test / test_interrupted_rebalance (push) Successful in 1m54s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 2m4s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m40s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m25s
Details
Test / test_failure_domain (push) Successful in 15s
Details
Test / test_snapshot (push) Successful in 25s
Details
Test / test_snapshot_ec (push) Successful in 20s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Successful in 16s
Details
Test / test_rm (push) Successful in 13s
Details
Test / test_snapshot_chain (push) Successful in 1m56s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m33s
Details
Test / test_snapshot_down (push) Successful in 23s
Details
Test / test_snapshot_down_ec (push) Successful in 22s
Details
Test / test_splitbrain (push) Successful in 16s
Details
Test / test_rebalance_verify (push) Successful in 3m3s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m2s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m13s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 8m35s
Details
Test / test_write (push) Successful in 33s
Details
Test / test_write_xor (push) Successful in 40s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m25s
Details
Test / test_heal_ec (push) Successful in 3m9s
Details
Test / test_scrub (push) Successful in 1m0s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 46s
Details
Test / test_scrub_xor (push) Successful in 1m1s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m55s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m25s
Details
Test / test_scrub_ec (push) Successful in 52s
Details
- Improve QEMU driver performance by integrating io_uring in it (up to 1.5x total iops improvement)
- Fix QEMU driver deadlocks which started to reproduce in qemu-img after iothread fixes
- Fix `vitastor-cli status` reporting more etcds than actually exists (fix etcd address duplication in config on reload)
- Fix `vitastor-cli ls` crashing on inodes in non-existing pools
- Delete old garbage /pool/stats/ keys for non-existing (deleted) pools
- Reduce memory usage of etcds initialized by make-etcd script
- Fix OSDs almost always crashing on etcd restart due to "revisions were compacted" (support reloading state from etcd)
- Fix a crash and a stall possible mostly in HDD setups with small journal and big (512k, 900k) random writes
- Add notes about HDDs to documentation. You are officially allowed to use HDD-only Vitastor with HGST/Toshiba/EXOS :)
2023-07-19 02:50:30 +03:00
Vitaliy Filippov
d0e257ee81
Fix non-existing pool handling in `vitastor-cli ls`
Test / test_interrupted_rebalance (push) Successful in 2m6s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 3m11s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m6s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 2m20s
Details
Test / test_failure_domain (push) Successful in 22s
Details
Test / test_snapshot (push) Successful in 50s
Details
Test / test_snapshot_ec (push) Successful in 33s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Successful in 1m23s
Details
Test / test_rm (push) Successful in 13s
Details
Test / test_snapshot_chain (push) Successful in 2m22s
Details
Test / test_snapshot_chain_ec (push) Successful in 3m6s
Details
Test / test_snapshot_down (push) Successful in 24s
Details
Test / test_snapshot_down_ec (push) Successful in 22s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_rebalance_verify (push) Successful in 3m28s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m27s
Details
Test / test_rebalance_verify_ec (push) Successful in 9m10s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 9m29s
Details
Test / test_write (push) Successful in 1m36s
Details
Test / test_write_xor (push) Successful in 2m17s
Details
Test / test_write_no_same (push) Successful in 36s
Details
Test / test_heal_pg_size_2 (push) Successful in 6m27s
Details
Test / test_heal_ec (push) Successful in 5m53s
Details
Test / test_scrub (push) Successful in 44s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 35s
Details
Test / test_scrub_xor (push) Successful in 36s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m1s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 46s
Details
Test / test_scrub_ec (push) Successful in 36s
Details
2023-07-18 23:52:02 +03:00
Vitaliy Filippov
9815d70ffc
It is impossible to use io_uring with older vitastor-client because it does not have vitastor_c_uring_has_work()
2023-07-18 23:37:53 +03:00
Vitaliy Filippov
4a4627dcab
Do not use bool in C library
2023-07-18 23:37:53 +03:00
Vitaliy Filippov
ba7427020e
Fix deadlocks possible in qemu-img after fixing iothread
...
Deadlock was caused by switching QEMU coroutines directly inside
vitastor_co_read_bitmap_cb() callback. The correct way is to schedule a BH
/BH is a QEMU term for setImmediate() :)/, same as in read and write callbacks.
2023-07-18 23:32:16 +03:00