Vitaliy Filippov
5dc52a7c06
Add client certificate support
2026-07-05 14:09:57 +03:00
Vitaliy Filippov
cf3abdb9e3
Clear autosync_timer when autosync_interval is set to 0
...
Clear other timers similarly (but their interval can't be 0)
2026-06-20 01:50:44 +03:00
Vitaliy Filippov
cf2ba05e4b
Disable chunked resharding -- it may interfere with journal flushing; will be re-enabled after fixes
2026-06-17 15:35:19 +03:00
Vitaliy Filippov
ca606570f7
Add request size validation
2026-06-15 01:56:54 +03:00
Vitaliy Filippov
fd84d84279
Add a regression test for scrub bitmap comparison (EC 3+3, only chunk 1 written and lost)
2026-06-15 01:52:04 +03:00
Vitaliy Filippov
91698404a7
Add a basic OSD test as an example
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
27bd38d95e
Allow to create OSD with mocked blockstore and network
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
ef0e61be1b
Split and mock etcd_state_client_t for testing
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
26fb08d7da
Change st_cli to pointer
2026-06-13 19:56:06 +03:00
Vitaliy Filippov
a675993c74
Remove unused osd_test.cpp and mock/ringloop.h, move epmgr out of osd_t
2026-05-18 01:17:56 +03:00
Vitaliy Filippov
ff7f5cb4f4
Report live & garbage entry count / memory with log_level > 1
2026-04-02 23:45:13 +00:00
Vitaliy Filippov
07915c2881
Use surrogate peer IDs instead of FDs
2026-03-30 02:06:10 +03:00
Vitaliy Filippov
c4c17ee6fb
Support chunked resharding in OSD
2026-01-25 10:42:48 +03:00
Vitaliy Filippov
2b801a7ffa
Support chunked resharding in blockstores
2026-01-25 01:56:29 +03:00
Vitaliy Filippov
73f9c7293f
Initialize blockstore after loading pool configuration to pre-shard the DB correctly on start
2026-01-23 01:45:13 +03:00
Vitaliy Filippov
97dfbfad75
Add missing list_stable_limit support
2025-12-02 01:52:12 +03:00
Vitaliy Filippov
8ee7058ec8
Use an interface instead of explicit blockstore_t wrapper
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
1badc6ad13
Remove include of blockstore_impl.h from disk_tool and osd
2025-11-23 01:48:44 +03:00
Vitaliy Filippov
488e20bf55
Remove BS_OP_SYNC_STAB_ALL from OSD
2025-07-26 14:13:12 +03:00
Vitaliy Filippov
6022a61329
Decouple break_pg_locks from outbound OSD disconnections
2025-06-05 02:48:54 +03:00
Vitaliy Filippov
b2416afb28
Lock PGs on secondary OSDs to allow local reads and guarantee splitbrain prevention
2025-05-10 15:18:00 +03:00
Vitaliy Filippov
3e5f0be52c
Use separate port numbers for RDMA-CM
2025-04-01 16:16:03 +03:00
Vitaliy Filippov
8508e78288
Add an alternative RDMA implementation via RDMA-CM
...
Required for non-RoCE cards: iWARP and, possibly, Infiniband
2025-03-31 21:01:25 +03:00
Vitaliy Filippov
a103065d12
Support multiple OSD networks and separate OSD cluster network
2025-03-31 21:01:15 +03:00
Vitaliy Filippov
7a835fcd8f
Add allow_net_split parameter
2025-03-23 02:12:32 +03:00
Vitaliy Filippov
9c59d30e83
Report slow ops in OSD stats in etcd and show them in vitastor-cli status
2024-11-16 15:11:16 +03:00
Vitaliy Filippov
c5a58c2e81
Support reading parameters automatically from the superblock in vitastor-disk {dump,write}-{meta,journal}
2024-10-07 02:21:58 +03:00
Vitaliy Filippov
abbba6ade4
Support handling TCP I/O in simple separate io_uring-based I/O threads
...
Required mainly for clients, allows to scale parallel client I/O with TCP
from 100-150k iops to ~400k iops and from 2-3 GB/s to at least 7-8 GB/s
with 4 I/O threads, at the same time increasing Q=1 latency by 2x thread
switching delay, which is ~10 us when CPU powersaving is disabled and may
be as high as 200 us when it's enabled.
2024-07-04 13:29:20 +03:00
Vitaliy Filippov
c79b38bd26
Move all sources to subdirs
2024-05-15 11:06:01 +03:00