Vitaliy Filippov
2089a9ef6c
WIP Support "prefetch" in kv_db
2025-05-03 15:06:59 +03:00
Vitaliy Filippov
28560b4ae5
Write K/V listings in buffered manner
2025-05-03 15:06:59 +03:00
Vitaliy Filippov
2d07449e74
Postpone cb() to set_immediate() to prevent stack overflows in kv_db
2025-05-03 15:06:59 +03:00
Vitaliy Filippov
80c4e8c20f
Add missing wakeup in ringloop->set_immediate to prevent slowdowns in code using set_immediate
2025-05-03 14:40:48 +03:00
Vitaliy Filippov
2ab0ae3bc9
Check operation sequencing and stop clients when it breaks
2025-05-02 17:01:50 +03:00
Vitaliy Filippov
05e59c1b4f
Fix MSG_WAITALL assertion added in the zero-copy patch
2025-05-02 17:01:43 +03:00
Vitaliy Filippov
e6e1c5b962
Check if OSDs are still up in rm-osd
2025-05-02 13:05:59 +03:00
Vitaliy Filippov
9556eeae45
Implement io_uring zero-copy send support
2025-05-01 18:47:10 +03:00
Vitaliy Filippov
96b5a72630
Allow removal of bad direntries in VitastorFS (direntries referring non-existent inodes)
2025-05-01 01:14:23 +03:00
Vitaliy Filippov
ef80f121f6
Fix "duplicate inode during create" deletion in VitastorFS
2025-04-30 20:37:49 +03:00
Vitaliy Filippov
bbdd1f3aa7
Fix modify-pool -s PG_SIZE without --pg_minsize
2025-04-28 02:20:54 +03:00
Vitaliy Filippov
5dd37f519a
Fix node folding in case of empty rules (pool with size 1), add a test
2025-04-28 02:16:49 +03:00
Vitaliy Filippov
a2278be84d
Improve data distribution: solve LP task on failure domains instead of individual OSDs
...
This greatly speeds up PG placement and makes it more uniform both because the LP task
becomes simpler and because the distribution of individual OSDs is optimised manually
2025-04-27 01:44:46 +03:00
Vitaliy Filippov
1393a2671c
Change default vitastor-etcd data dir to /var/lib/etcd/vitastor
2025-04-27 01:44:46 +03:00
Vitaliy Filippov
9fa8ae5384
Reset OSD ping state on receiving data from it via RDMA
2025-04-26 14:17:09 +03:00
Vitaliy Filippov
169a35a067
Followup to latency aggregation fix
2025-04-26 01:32:46 +03:00
Vitaliy Filippov
2b2a10581d
Prevent double handle_primary_subop in rare cases
2025-04-26 01:16:53 +03:00
Vitaliy Filippov
10fd51862a
Fix latency aggregation in global stats (/vitastor/stats in etcd)
2025-04-25 00:08:10 +03:00
Vitaliy Filippov
15d0204f96
Hide "Ran out of journal space" log messages by default
2025-04-20 01:21:03 +03:00
Vitaliy Filippov
21d6e88a1b
Add instructions to change NFS_MAX_FILE_IO_SIZE
2025-04-18 13:39:32 +03:00
Vitaliy Filippov
df2847df2d
Wait for RDMA-CM EVENT_ESTABLISHED after rdma_accept(), handle rdma_accept() before acking the event
2025-04-15 15:19:36 +03:00
Vitaliy Filippov
327c98a4b6
Fix index_tree
2025-04-13 16:13:44 +03:00
Vitaliy Filippov
3cc0abfd81
Fix NFS total & free multiplied by extra 2
2025-04-12 19:09:26 +03:00
Vitaliy Filippov
80e5f8ba76
Add missing WITH_RDMACM defines
2025-04-12 19:06:27 +03:00
Vitaliy Filippov
4b660f1ce8
Fix systemd unit name in make-etcd
2025-04-11 02:05:08 +03:00
Vitaliy Filippov
dfde0e60f0
Do not allow reweight > 1
2025-04-05 12:21:14 +03:00
Vitaliy Filippov
013f688ffe
Run check_peer_config on RDMA-CM connections too
2025-04-02 01:32:28 +03:00
Vitaliy Filippov
cf9738ddbe
Fix docker 2.1.0 build :)
2025-04-01 22:46:22 +03:00
Vitaliy Filippov
891b2811c7
Release 2.1.0
...
New features:
- Support separate OSD cluster network - [osd_cluster_network](https://vitastor.io/docs/config/network.html#osd_cluster_network )
and, in general, multiple OSD networks, including RDMA
- Add an alternative RDMA implementation via RDMA-CM - [use_rdmacm](https://vitastor.io/docs/config/network.html#use_rdmacm ),
required for iWARP and, maybe, for some IB setups (but not for RoCE)
- Change default PG behaviour to wait for all "up" OSDs to be connected before starting it.
The old behaviour may be returned by enabling a new [allow_net_split](https://vitastor.io/docs/config/osd.html#allow_net_split )
option.
- Add a patch for QEMU 9.2
Bug fixes:
- Fix incorrect "has_xxx" PG state names in ls-pgs
- Fix possible QEMU crashes after detaching of Vitastor disks (and update all QEMU builds in Vitastor repos)
- Fix clients sometimes spamming OSDs with infinite reconnections when some PGs are offline
- Fall back to TCP on RDMA connection failures
- Add missing logging of RDMA ibv_modify_qp() errors
- Add a minimum interval for etcd_state_client to reload state
v2.1.0
2025-04-01 20:16:27 +03:00
Vitaliy Filippov
01590df6da
Update QEMU version in vitastor-csi Dockerfile
2025-04-01 20:16:27 +03:00
Vitaliy Filippov
3e5f0be52c
Use separate port numbers for RDMA-CM
2025-04-01 16:16:03 +03:00
Vitaliy Filippov
58af897e73
s/listen on/listen to/ :)
2025-04-01 12:07:15 +03:00
Vitaliy Filippov
dbf9ecd171
Move osd_network to config/network docs
2025-03-31 21:12:09 +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
f32dea02bf
Support multiple RDMA networks
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
5d2e28d4a9
Remove unused used_max_cqe from nfs_proxy_rdma
2025-03-30 02:13:24 +03:00
Vitaliy Filippov
18e14eed11
Fix --pg_count formula in docs/usage/cli
2025-03-29 17:54:53 +03:00
Vitaliy Filippov
ccc32b9e68
Use TCP on RDMA connection failure
2025-03-23 12:04:23 +03:00
Vitaliy Filippov
ebaf3fee79
Add an assertion to prevent sending message to TCP channel when switched to RDMA
2025-03-23 12:04:09 +03:00
Vitaliy Filippov
196d28e987
Fix typo
2025-03-23 12:00:20 +03:00
Vitaliy Filippov
8f243b2328
Fix qemu buster build and bullseye version
2025-03-23 02:46:52 +03:00
Vitaliy Filippov
7a835fcd8f
Add allow_net_split parameter
2025-03-23 02:12:32 +03:00
Vitaliy Filippov
8b0389b4e8
Log RDMA ibv_modify_qp() errors
2025-03-22 15:58:13 +03:00
Vitaliy Filippov
f544c350ba
%l* -> %j*
2025-03-22 15:32:07 +03:00
Vitaliy Filippov
4eafb55b5c
Add a patch for QEMU 9.2, fix debian bookworm QEMU build
2025-03-22 15:30:52 +03:00
Vitaliy Filippov
5030396f71
Clear QEMU eventfd handler on vitastor block driver destruction
2025-03-21 20:47:17 +03:00
Vitaliy Filippov
be22c363ca
Do not skip client_retry_interval on reconnecting OSDs to prevent OSD spam
2025-03-20 00:12:38 +03:00
Vitaliy Filippov
0f80c87b43
Add a minimum interval for etcd_state_client to reload state
...
(To prevent excessive load on etcd during outages)
2025-03-19 02:36:09 +03:00
Vitaliy Filippov
e0953fd502
Wait for all "up" OSDs to be connected before starting PG
2025-03-19 02:36:09 +03:00