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
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
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
8603b5cb1d
Do not hang on inactive OSDs during delete, report and skip them instead
Test / test_create_nomaxid (push) Successful in 8s
Details
Test / test_etcd_fail (push) Successful in 46s
Details
Test / test_interrupted_rebalance (push) Successful in 3m13s
Details
Test / test_interrupted_rebalance_imm (push) Successful in 1m30s
Details
Test / test_interrupted_rebalance_ec (push) Successful in 2m18s
Details
Test / test_interrupted_rebalance_ec_imm (push) Successful in 1m34s
Details
Test / test_failure_domain (push) Successful in 7s
Details
Test / test_snapshot (push) Successful in 29s
Details
Test / test_snapshot_ec (push) Successful in 32s
Details
Test / test_minsize_1 (push) Successful in 12s
Details
Test / test_move_reappear (push) Successful in 17s
Details
Test / test_rm (push) Successful in 12s
Details
Test / test_snapshot_chain (push) Successful in 1m37s
Details
Test / test_snapshot_chain_ec (push) Successful in 2m21s
Details
Test / test_splitbrain (push) Successful in 13s
Details
Test / test_rebalance_verify (push) Successful in 3m14s
Details
Test / test_rebalance_verify_imm (push) Successful in 3m8s
Details
Test / test_rebalance_verify_ec (push) Successful in 3m18s
Details
Test / test_rebalance_verify_ec_imm (push) Successful in 5m20s
Details
Test / test_write (push) Successful in 32s
Details
Test / test_write_xor (push) Successful in 43s
Details
Test / test_write_no_same (push) Successful in 13s
Details
Test / test_heal_pg_size_2 (push) Successful in 3m55s
Details
Test / test_heal_ec (push) Successful in 4m2s
Details
Test / test_scrub (push) Successful in 56s
Details
Test / test_scrub_zero_osd_2 (push) Successful in 51s
Details
Test / test_scrub_xor (push) Successful in 29s
Details
Test / test_scrub_pg_size_3 (push) Successful in 1m2s
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 32s
Details
2023-06-30 00:15:16 +03:00
Vitaliy Filippov
0e5d0e02a9
Add "vitastor-cli describe" command
2023-05-20 23:19:39 +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
fe87b4076b
Fix backwards compatibility in cluster_client
2023-01-12 02:37:31 +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
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
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
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
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
Vitaliy Filippov
d749159585
Linked list experiment
...
Rework client operation queue from a vector to a linked list.
This is required to rework continue_ops() as its current implementation
consumes ~25% of client process CPU.
2021-04-29 01:47:33 +03:00
Vitaliy Filippov
6950b8e3a0
Watch inode metadata revisions
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
691f066055
Actual snapshot support (untested)
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
0aa2dd2890
Send bitmaps with primary-reads, actually read bitmaps for READ ops
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
860ac24762
Add "external" bitmap support to the secondary OSD protocol
2021-04-10 17:44:12 +03:00
Vitaliy Filippov
18c72f4835
Correct reenterability fix (now verified with a test)
...
It's rather funny but 0.5.12 has to be re-published again
2021-04-09 12:10:16 +03:00
Vitaliy Filippov
efb3678606
Fix qemu-img broken in 0.5.11
...
Caused by the lack of reenterability of the main cluster_client function
2021-04-08 14:59:20 +03:00
Vitaliy Filippov
f6d705383a
Fix client connection recovery bugs, add dirty_ops limit
2021-04-07 11:06:31 +03:00
Vitaliy Filippov
a48e2bbf18
Fix write replay ordering when immediate_commit != all
...
Previous implementation didn't respect write ordering and could lead
to corrupted data when restarting writes after an OSD outage
Also rework cluster_client queueing logic and add tests for it to verify the correct behaviour
2021-04-03 14:51:52 +03:00
Vitaliy Filippov
54f2353f24
Use bitmap granularity for alignment checks
2021-04-03 14:36:04 +03:00
Vitaliy Filippov
e47f6fba60
Remove cluster_client_t::stop()
2021-04-03 14:35:42 +03:00
Vitaliy Filippov
ad577c4aac
Add PING operation and timeouts to detect OSD failures when a host goes down
2021-03-09 02:15:38 +03:00
Vitaliy Filippov
bf9a175efc
Move C/C++ sources to src subdirectory
2021-02-25 23:59:03 +03:00