Vitaliy Filippov
0cd455d17f
First just recheck version without actually re-reading block in vitastor-kv
2024-03-16 13:24:36 +03:00
Vitaliy Filippov
61ef000c6e
Evict blocks based on memory limit & block usage
2024-03-16 13:24:36 +03:00
Vitaliy Filippov
fd1d8a8520
Experimental B-Tree Vitastor embedded K/V database implementation!
2024-03-16 13:24:36 +03:00
Vitaliy Filippov
c364e14c40
Stop then retry, not retry then stop
2024-03-16 13:24:36 +03:00
Vitaliy Filippov
a1fecb7eff
Move callback away when calling it in cluster_client
2024-03-06 00:41:35 +03:00
Vitaliy Filippov
6bf1f539a6
Add EIO retry timeout and allow to disable these retries, rename up_wait_retry_interval to client_retry_interval
2024-02-28 13:10:02 +03:00
Vitaliy Filippov
f20564b44b
Fix 32-bit build warnings (99.9% in printf)
2024-02-22 12:22:16 +03:00
Vitaliy Filippov
1c322b33ed
Change default up_wait_retry_interval to 50 ms
Test / test_rm (push) Successful in 14s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 3m59s
Details
Test / test_snapshot_chain (push) Successful in 1m34s
Details
Test / test_snapshot_down (push) Successful in 25s
Details
Test / test_snapshot_down_ec (push) Successful in 29s
Details
Test / test_splitbrain (push) Successful in 19s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m35s
Details
Test / test_interrupted_rebalance (push) Successful in 8m15s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m54s
Details
Test / test_switch_primary (push) Successful in 36s
Details
Test / test_write (push) Successful in 35s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m48s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 2m51s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_write_xor (push) Failing after 3m9s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m55s
Details
Test / test_heal_ec (push) Successful in 3m50s
Details
Test / test_rebalance_verify (push) Failing after 9m30s
Details
Test / test_heal_csum_32k_dmj (push) Failing after 5m40s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m12s
Details
Test / test_heal_csum_32k (push) Successful in 6m25s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m56s
Details
Test / test_scrub (push) Successful in 1m4s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 55s
Details
Test / test_scrub_xor (push) Successful in 56s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 1m19s
Details
Test / test_scrub_pg_size_3 (push) Failing after 2m14s
Details
Test / test_heal_csum_4k_dj (push) Successful in 5m53s
Details
Test / test_scrub_ec (push) Successful in 1m1s
Details
Test / test_heal_csum_4k (push) Successful in 5m17s
Details
2024-01-26 01:51:08 +03:00
Vitaliy Filippov
c4928e6ecd
Protect from try_send completing the operation immediately
...
Fixes a possible use-after-free in case of continue_ops() calling try_send(),
then connect_peer() -> set_timer() -> trigger_nearest() -> handle_op_part() -> continue_ops() again
2023-12-31 01:23:17 +03:00
Vitaliy Filippov
7239cfb91a
Parse log_level in cluster_client
Test / test_snapshot_ec (push) Successful in 32s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m52s
Details
Test / test_move_reappear (push) Successful in 21s
Details
Test / test_rm (push) Successful in 20s
Details
Test / test_snapshot_down (push) Successful in 27s
Details
Test / test_snapshot_down_ec (push) Successful in 30s
Details
Test / test_splitbrain (push) Successful in 28s
Details
Test / test_snapshot_chain (push) Successful in 2m18s
Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m0s
Details
Test / test_rebalance_verify (push) Successful in 3m43s
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 3m17s
Details
Test / test_rebalance_verify_ec (push) Successful in 4m9s
Details
Test / test_write_xor (push) Failing after 3m16s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m49s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m6s
Details
Test / test_heal_ec (push) Successful in 6m46s
Details
Test / test_heal_csum_32k_dj (push) Successful in 6m25s
Details
Test / test_heal_csum_32k (push) Successful in 6m41s
Details
Test / test_scrub (push) Successful in 1m15s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m25s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 6m33s
Details
Test / test_scrub_xor (push) Successful in 1m7s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m16s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m56s
Details
Test / test_scrub_ec (push) Successful in 52s
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 6m14s
Details
2023-12-20 02:21:23 +03:00
Vitaliy Filippov
dc615403d9
Do not warn on EPIPE in client unless log_level is raised explicitly
Test / test_snapshot_ec (push) Successful in 36s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m58s
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 49s
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 2m26s
Details
Test / test_snapshot_chain_ec (push) Failing after 3m6s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m11s
Details
Test / test_write (push) Successful in 35s
Details
Test / test_rebalance_verify (push) Successful in 4m6s
Details
Test / test_write_no_same (push) Successful in 15s
Details
Test / test_write_xor (push) Successful in 41s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 4m10s
Details
Test / test_rebalance_verify_ec (push) Successful in 5m0s
Details
Test / test_heal_ec (push) Successful in 4m32s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m50s
Details
Test / test_heal_csum_32k_dmj (push) Successful in 5m44s
Details
Test / test_heal_csum_32k_dj (push) Successful in 5m50s
Details
Test / test_heal_csum_32k (push) Successful in 7m6s
Details
Test / test_heal_csum_4k_dmj (push) Successful in 7m1s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 1m2s
Details
Test / test_scrub (push) Successful in 1m6s
Details
Test / test_scrub_xor (push) Successful in 58s
Details
Test / test_heal_csum_4k_dj (push) Successful in 6m57s
Details
Test / test_heal_csum_4k (push) Successful in 6m42s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m42s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 53s
Details
Test / test_scrub_ec (push) Successful in 22s
Details
2023-12-17 13:42:26 +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
9336ee5476
Correctly free manual "small vector" in cluster_client %-)
2023-10-26 22:57:36 +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
27d0d5b06a
Reads do not have to wait for buffer flushes anymore
2023-09-16 17:52:17 +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
84ed3c6395
Fix CAS retries during snapshot merge
Test / test_create_nomaxid (push) Successful in 7s
Details
Test / test_etcd_fail (push) Failing after 10m10s
Details
Test / test_interrupted_rebalance (push) Successful in 2m46s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m35s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 1m45s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m53s
Details
Test / test_failure_domain (push) Successful in 7s
Details
Test / test_snapshot (push) Successful in 24s
Details
Test / test_snapshot_ec (push) Successful in 29s
Details
Test / test_minsize_1 (push) Successful in 13s
Details
Test / test_move_reappear (push) Failing after 49s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_chain (push) Successful in 1m35s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m9s
Details
Test / test_splitbrain (push) Successful in 14s
Details
Test / test_rebalance_verify (push) Successful in 3m0s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m5s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m20s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m24s
Details
Test / test_write (push) Successful in 34s
Details
Test / test_write_xor (push) Successful in 38s
Details
Test / test_write_no_same (push) Successful in 14s
Details
Test / test_heal_pg_size_2 (push) Successful in 4m0s
Details
Test / test_heal_ec (push) Successful in 3m58s
Details
Test / test_scrub (push) Successful in 58s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 38s
Details
Test / test_scrub_xor (push) Successful in 30s
Details
Test / test_scrub_pg_size_3 (push) Successful in 35s
Details
Test / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 30s
Details
Test / test_scrub_ec (push) Successful in 23s
Details
2023-06-30 02:30:23 +03:00
Vitaliy Filippov
0e5d0e02a9
Add "vitastor-cli describe" command
2023-05-20 23:19:39 +03:00
Vitaliy Filippov
8cac795445
Return EIO instead of EINVAL for incomplete EC objects
2023-05-11 01:15:23 +03:00
Vitaliy Filippov
888a6975ab
Fix a rare use-after-free in cluster_client caused by a reenterability issue
2023-04-08 02:44:02 +03:00
Vitaliy Filippov
d06ed2b0e7
Implement online config update
2023-03-26 19:21:50 +03:00
Vitaliy Filippov
936122bbcf
Initialize msgr lazily in client to speedup vitastor-cli with RDMA enabled
2023-02-19 18:59:07 +03:00
Vitaliy Filippov
3d08a1ad6c
Fix cluster_client test after last reenterability fixes
2023-02-05 01:47:32 +03:00
Vitaliy Filippov
8b552a01f9
Do not retry successful operation parts in client (could lead to "double free" bugs)
2023-01-25 01:30:36 +03:00
Vitaliy Filippov
137309cf29
Implement bdrv_co_block_status for snapshot export support
2023-01-07 17:06:58 +03:00
Vitaliy Filippov
7a71e7ef01
Fix possible duplication of ping & op message IDs
2022-12-04 00:16:47 +03:00
Vitaliy Filippov
bf8a0581cd
Fix possible "assertion failed: next->prev_wait >= 0" in client
2022-11-20 00:50:13 +03:00
Vitaliy Filippov
5a10d135f3
Allow to configure block_size, bitmap_granularity and immediate_commit per-pool
2022-08-11 01:56:33 +03:00
Vitaliy Filippov
73a363bf92
Rename some variables and constants
2022-07-15 01:38:30 +03:00
Vitaliy Filippov
2a2e914ef9
Show no_recovery, no_rebalance and readonly flags in status
2022-06-04 13:27:06 +03:00
Vitaliy Filippov
7c2379d458
Simplified NFS proxy based on own NFS/XDR implementation
2022-05-07 01:01:20 +03:00
Vitaliy Filippov
714dda8151
Fix slow connection ramp-up caused by up_wait_retry_interval pausing operations on first connection attempt
2022-05-06 02:12:08 +03:00
Vitaliy Filippov
732e2804e9
Fix operation dependency counter underflow for reads without immediate_commit=all mode
2022-02-11 10:54:11 +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
5859f913fc
Fix client failover in case of etcd shutdown or crash
2021-12-01 00:33:02 +03:00
Vitaliy Filippov
6d307d5391
Ignore "readonly" flag when merging snapshots
2021-09-26 11:32:42 +03:00
Vitaliy Filippov
acf637950c
Implement layer merge
...
A new command merges multiple snapshot/clone layers into one of them,
so merged layers can be deleted after this procedure
2021-07-31 00:23:30 +03:00
Vitaliy Filippov
7d3d696110
Implement object listing with controllable parallelism in cluster_client
2021-07-20 00:19:34 +03:00
Vitaliy Filippov
aad7792d3f
Check for loops in parent inode chains
2021-06-20 00:23:03 +03:00
Vitaliy Filippov
891250d355
Implement CAS writes
...
From now on, reads will return the server-side object version numbers
and writes and deletes will have an additional "version" parameter
which, if set to a non-zero value, will be atomically compared with
the current version of the object plus 1 and the modification will
fail if it doesn't match.
This feature opens the road to correct online flattening of snapshot
layers and other interesting things.
2021-06-15 00:12:35 +03:00
Vitaliy Filippov
699a0fbbc7
Log to stderr instead of stdout in client
2021-05-15 19:22:24 +03:00
Vitaliy Filippov
4a7365660d
Do not wait for down OSDs during sync
...
Fixes a hang introduced in 0.5.11 in the non-immediate_commit mode
2021-05-01 00:26:07 +03:00
Vitaliy Filippov
72aa2fd819
Make OSD and client read common configuration from /etc/vitastor/vitastor.conf
2021-04-30 01:11:27 +03:00
Vitaliy Filippov
ce777319c3
WIP RDMA support
...
Basic naive implementation works, but it's highly non-optimal as
RNR retransmissions occur all the time. RDMA expects the receiver
to always have place for incoming WRs...
2021-04-29 02:03:54 +03:00
Vitaliy Filippov
f8ff39b0ab
Rework continue_ops() to remove a CPU hot spot
...
This rework increases fio -rw=randread -iodepth=128 result from ~120k to ~180k iops :)
2021-04-29 01:50:13 +03:00