Commit Graph
100 Commits
Author SHA1 Message Date
Vitaliy Filippov d235948551 Do not expect second notification when cqe returns error 2025-11-16 02:19:48 +03:00
Vitaliy Filippov f0112050ce Release 2.4.3
- Daemonize before forking in NFS proxy to fix OSD RDMA support (#107)
- Fix possible PG_INCOMPLETE on node outage when allow_net_split is false
- Fix build under Ubuntu 25.10
- Fix journal_no_same_sector_overwrites mode after optimizing WA (#109)
2025-11-09 02:18:35 +03:00
Vitaliy Filippov d6b8d921d6 Daemonize before forking in NFS proxy to fix OSD RDMA support (fix #107) 2025-11-09 01:07:11 +03:00
Vitaliy Filippov 65872f5d0e Remove RDMA context FD handlers during msgr destroy 2025-11-08 14:11:03 +03:00
Vitaliy Filippov 15eef27d44 Fix PG_INCOMPLETE on node outage when allow_net_split is false 2025-11-07 21:56:56 +03:00
Vitaliy Filippov aa1e51de5f Add include stdint (fix ubuntu 25.10 build) 2025-11-07 21:56:56 +03:00
Vitaliy Filippov 622631c146 Release 2.4.2
A micro-fix to the make-etcd script and a minor fix to vitastor-cli rm
leaving "deleted" flag after itself when using "inverse delete".
2025-11-04 17:51:09 +03:00
Vitaliy Filippov 4ab93d8481 Use tar.xz from bookworm for trixie O_o 2025-11-04 17:51:09 +03:00
Vitaliy Filippov bd64770317 Use -it in debian build scripts 2025-11-04 16:56:04 +03:00
Vitaliy Filippov 34cb48d553 Support QEMU 10.1 2025-11-04 15:39:10 +03:00
Vitaliy Filippov 724d2ffa04 Do not mark "inverse child" as deleted during rename-delete 2025-11-04 01:30:00 +03:00
Vitaliy Filippov b6bfe1435d Followup fix for make-etcd ipv6 support 2025-11-03 16:18:38 +03:00
Vitaliy Filippov 74a23dcb63 Release 2.4.1
- Optimize WA - reduce it from 4-5 to 3.x by batching journal writes
- Fix ls-pool showing wrong used % when osds are reweighted (#105)
- Fix vitastor-cli rm sometimes hanging when PGs are down (#99)
- Fix vitastor-cli ls displaying raw used space for all inodes when -p is specified (#101)
- Fix "Cannot set property of undefined" in monitor when deleting pool with live inode op stats (#103)
- Revert vitastor-kv change from 2.2.0 leading to crashes in vitastor-kv-stress (#100)
- Add pg_size change check for XOR pools
- Fix root access to VitastorFS files
- Add IPv6 support to make-etcd
- Fix IPv6 etcd address support in OSD & client library
2025-10-29 01:39:33 +03:00
Vitaliy Filippov eedc700b83 Do not try executing operations on inactive PGs at all 2025-10-28 01:38:54 +03:00
Vitaliy Filippov c8cc17dbe9 Fix tv_nsec == 1000000000 case in timerfd_manager (#99) 2025-10-27 20:57:29 +03:00
Vitaliy Filippov b55d406386 Fix vitastor-cli ls displaying raw used space for all inodes when -p is specified (fix #101) 2025-10-27 20:55:17 +03:00
Vitaliy Filippov 0c46dbd333 Fix "Cannot set property of undefined" in monitor when deleting pool with live inode op stats (should fix #103) 2025-10-27 20:48:07 +03:00
Vitaliy Filippov ed94aa52cf Ensure that the retry timer is set when checking PG retry (for #99) 2025-10-27 20:19:17 +03:00
Vitaliy Filippov 555ae613c2 Revert commit 2d07449e74 (fixes #100) 2025-10-27 20:12:11 +03:00
Vitaliy Filippov cad6ea0360 Add pg_size change check for XOR pools 2025-10-24 20:53:27 +03:00
Vitaliy Filippov d60709dce1 Init list_retry_time to 0 2025-10-20 20:32:49 +03:00
Vitaliy Filippov a03ffd0d73 Fix prefix in openstack doc 2025-10-14 01:47:05 +03:00
Vitaliy Filippov 89b76a87b6 Fix root access to VitastorFS files 2025-10-09 19:24:05 +03:00
Vitaliy Filippov ceba343ac0 Add [] for ipv6 etcd IPs in make-etcd 2025-10-08 16:39:48 +03:00
Vitaliy Filippov 3bc04d8250 Fix ipv6 parsing in make-etcd 2025-10-08 01:33:11 +03:00
Vitaliy Filippov d228fbfb68 Fix ipv6 port parsing in addr_util 2025-10-08 01:30:00 +03:00
Vitaliy Filippov e3c8fd28b4 Allow to test EC writes with fio_blockstore 2025-09-27 14:12:24 +03:00
Vitaliy Filippov d87e7d1a37 Optimize WA - do not move to the next journal sector until the actual write 2025-09-27 11:23:05 +03:00
Vitaliy Filippov 59f87c3e30 Release 2.4.0
New features:

- Support UBLK in CSI and make it the default
- Add image tree output: `vitastor-cli ls --tree`

Bug fixes:

- Fix OSDs crashing on localized reads from snapshotted images
- Several NFS fixes from github PR #95
- Fix snapshotted bitmap reads not working in EC pools (fix #92)
- Fix UBLK reporting incorrect device size (1/8 of actual size), report logical_block_size=4096
- Do not repeer when stopping PEER_CONNECTING osd_clients (increase PG peering stability on failover)
- Fix marking PGs as incomplete when peers are unavailable
- Fix FS formatter (mkfs and fsck) error handling in CSI (it didn't report mounting errors)
- Fix removal of block PVC devices not working in CSI
- Do not attempt to free outbound ops in clear_immediate_ops (fix #88)
- Add vitastor-disk prepare --dry-run option
- Add librdmacm-dev to build-deps
- Log has_invalid objects
- Do not warn on incomplete+has_invalid PG states as unexpected
- Fix OSD reweight values between 0 and 1 not working in monitor
- Fix OSD assertion failed: n_subops != sent when all object copies are corrupted
- Install ibverbs-providers in vitastor Docker builds
- Fix #86 - base64_decode on arm64 O_o
- Fix Proxmox 9.0 support (remove some kind of a whitelist added in upstream)
2025-09-24 15:40:41 +03:00
Vitaliy Filippov eba383f66f Fix warn_on_unused_result in kv_cli 2025-09-24 15:40:19 +03:00
Vitaliy Filippov 4e5e8822c0 Fix invalid object log 2025-09-24 15:33:21 +03:00
Vitaliy Filippov 60933c1d00 Fix local_reads with chain reads 2025-09-24 15:02:41 +03:00
Vitaliy Filippov 08a3dcd587 Prevent vector out-of-bounds in kv alloc_block (from #95) 2025-09-24 15:02:41 +03:00
Vitaliy Filippov 3c5b9d2744 Support vitastor-cli ls --tree syntax 2025-09-24 13:09:43 +03:00
Vitaliy Filippov cff08d2c72 Fix snapshotted bitmap reads not working in EC pools (fix #92) 2025-09-24 02:33:04 +03:00
Vitaliy Filippov 1e1f395947 Do not repeer on stopping PEER_CONNECTING osd_clients 2025-09-24 02:17:34 +03:00
Vitaliy Filippov e6c2628960 Fix marking PGs as incomplete when peers are unavailable 2025-09-24 02:14:47 +03:00
Vitaliy Filippov 887f7c1530 Remove separate close_sync in nbd_proxy, too 2025-09-24 02:11:32 +03:00
Vitaliy Filippov 2c6bddd831 Support UBLK in CSI and make it default 2025-09-24 02:09:39 +03:00
Vitaliy Filippov e1715c33bb Fix warn_unused_result on write/read in nbd and ublk 2025-09-24 02:07:58 +03:00
Vitaliy Filippov 2ef80bf0b8 Remove separate close_sync in ublk_proxy, it's already inside cli->flush 2025-09-24 01:54:43 +03:00
Vitaliy Filippov 85ba710718 Add CSI Dockerfile for build with local packages 2025-09-24 01:50:04 +03:00
Vitaliy Filippov c16b0e7f92 Fix ublk device size & logical_block_size 2025-09-24 01:42:14 +03:00
Vitaliy Filippov b3d388228a Fix formatter error handling in CSI 2025-09-23 02:43:21 +03:00
Vitaliy Filippov bcde9de7da Fix the removal of block PVC devices not working 2025-09-22 10:29:03 +03:00
Vitaliy Filippov 52bc3261e9 Do not attempt to free outbound ops in clear_immediate_ops (fix #88) 2025-09-17 12:22:48 +03:00
Vitaliy Filippov 2d42f29385 Add vitastor-disk prepare --dry-run option 2025-09-05 23:34:11 +00:00
Vitaliy Filippov 17240c6144 Add librdmacm-dev to build-deps 2025-09-06 02:09:44 +03:00
Vitaliy Filippov 9e627a4414 Log has_invalid objects 2025-09-05 02:14:03 +03:00
Vitaliy Filippov 90b1019636 Do not warn on incomplete+has_invalid PG states as unexpected 2025-09-05 02:10:57 +03:00
Vitaliy Filippov df604afbd5 Fix OSD reweight values between 0 and 1 not working 2025-09-05 02:05:01 +03:00
Vitaliy Filippov 47c7aa62de Remove unused SUBMIT_SCRUB_READ 2025-08-30 16:30:52 +03:00
Vitaliy Filippov 9f2dc48d0f Fix OSD assertion failed: n_subops != sent when all object copies are corrupted 2025-08-30 16:30:47 +03:00
Vitaliy Filippov 6d951b21fb Install ibverbs-providers in vitastor Docker builds 2025-08-30 02:28:26 +03:00
Vitaliy Filippov 552f28cb3e Fix #86 - base64_decode on arm64 O_o 2025-08-30 02:27:05 +03:00
Vitaliy Filippov e87b6e26f7 Fix Proxmox 9.0 support - oops :) 2025-08-26 20:24:12 +03:00
Vitaliy Filippov 0c89886374 Release 2.3.0
New features:

- Add a new kernel device mounting method: [ublk](https://vitastor.io/docs/usage/ublk.html).
  It's the fastest method for random IOPS, and it's on par with VDUSE for linear MB/s.
- Disable io_uring waits being reported as iowait on kernels which support it (6.15+)
- Allow to enforce permissions at the VitastorFS NFS server side
- Add qemu_file_mirror_path option to the config to allow to trick Veeam and make it work
- Speed up CRC32C calculation in OSD by fixing a bug and enabling AVX512 version
- Support QEMU 10
- Support Debian 13 Trixie and Proxmox 9.0
- Remove the dependency on system liburing in package builds (build it statically)

Bug fixes:

- Fix checksums NEVER BEING ENABLED in vitastor-disk prepare, even when explicitly requested :-D
- Use default uid and gid from NFS AUTH_SYS when creating files
- Fix object bitmaps supposedly & possibly being corrupted in some rare cases with EC N+2+
- Avoid multiple inflight overwrites to meta blocks - fixes possible data corruption with
  one specific SSD model: Memblaze PBlaze5 910 (github #79)
- Fix a bug in antietcd which was leading to leases sometimes not expiring correctly
- Fix a bug in NFS where ".." entry had its `cookie` equal to 0 instead of 1 (github #78)
- Fix snapshots not being deleted during VM deletion in Proxmox plugin (github #85)
- Fix monitor not filtering OSDs by block size correctly
2025-08-25 21:39:19 +03:00
Vitaliy Filippov e79bef8751 Fix pve-qemu-10.0 patch 2025-08-25 21:38:18 +03:00
Vitaliy Filippov ad76f84e1c Fix compat.h for even older kernel headers 2025-08-25 21:38:04 +03:00
Vitaliy Filippov db827cb34c Add --enforce 1 to docs 2025-08-25 16:05:40 +03:00
Vitaliy Filippov e5c6d85ea1 Add Debian trixie to docs 2025-08-25 00:47:23 +03:00
Vitaliy Filippov 6cc44c1f54 Add qemu_file_mirror_path docs 2025-08-25 00:45:52 +03:00
Vitaliy Filippov c20450c1f1 Add build.sh for Debian Trixie 2025-08-24 22:15:55 +03:00
Vitaliy Filippov db63e58b3d Add UBLK docs 2025-08-24 16:55:58 +03:00
Vitaliy Filippov 31b7021330 Implement Vitastor ublk server 2025-08-24 16:55:58 +03:00
Vitaliy Filippov 2ebe3a468c Mark all symbols hidden by default, export only required ones 2025-08-24 16:55:58 +03:00
Vitaliy Filippov 9892fccfb0 Disable io_uring waits being reported as iowait 2025-08-24 16:55:58 +03:00
Vitaliy Filippov 0be86a306d Remove old liburing version support as it's now included 2025-08-24 16:55:58 +03:00
Vitaliy Filippov d77a775948 Fix liburing include/compat for older kernels 2025-08-24 16:55:58 +03:00
Vitaliy Filippov 8cc82bab39 Include liburing in static build 2025-08-24 16:55:58 +03:00
Vitaliy Filippov f9d5e33ddd Fix filtering OSDs by block size in monitor 2025-08-24 16:46:36 +03:00
Vitaliy Filippov fbf14fb0cb Allow to enforce permissions at the server side 2025-08-24 16:20:19 +03:00
Vitaliy Filippov fb1c3e00f4 Use default uid and gid from NFS AUTH_SYS when creating files 2025-08-24 16:03:40 +03:00
Vitaliy Filippov c24cc9bf0b Bump antietcd version to 1.1.3 2025-08-23 17:45:56 +03:00
Vitaliy Filippov 9f57c75acf unordered_map flush_versions 2025-08-23 17:45:56 +03:00
Vitaliy Filippov 53b12641d1 Fix the fix :) 2025-08-23 17:45:56 +03:00
Vitaliy Filippov 3a261ac3fc Support QEMU 10 2025-08-18 10:51:04 +03:00
Vitaliy Filippov 04514435de Fix checking config in qemu driver 2025-08-12 01:16:57 +03:00
Vitaliy Filippov 07303020fc Fix enabling checksums in blockstore-disk O_o 2025-08-10 18:04:52 +03:00
Vitaliy Filippov feaf7a15cf Use CRC32C implementation from ISA-L when available - enables VPCLMULQDQ version with AVX512 which is ~2x faster 2025-08-10 18:03:47 +03:00
Vitaliy Filippov 29dda5066f Stop doing cpuid repeatedly in runtime 2025-08-10 18:03:22 +03:00
Vitaliy Filippov 1de53ef7e6 Move crc32c_pad to util/crc32c.c 2025-08-10 18:03:17 +03:00
Vitaliy Filippov 4793dbe9c3 Use set_immediate() in osd_flush to prevent stack overflows on repeated errors 2025-08-10 17:58:01 +03:00
Vitaliy Filippov 918ea34af2 Remove "Only allow to overwrite part of the bitmap" blockstore API feature 2025-08-10 17:57:04 +03:00
Vitaliy Filippov 2db8184cd8 Fix bitmap calculation for EC N+1 & the new store and EC N+2+ for the old store 2025-08-10 17:57:04 +03:00
Vitaliy Filippov 0e964b3c8c Fix renaming from ddeb 2025-08-09 16:11:22 +03:00
Vitaliy Filippov 1b9296ff6c Add qemu_file_mirror_path option to the config to allow to trick Veeam
When qemu_file_mirror_path is set to "/dir/" in /etc/vitastor/vitastor.conf, QEMU driver
returns "/dir/image_name" as the filename in qemu-img info and in QAPI to trick software
like Veeam which expects file-based access. After that, vitastor-nfs can be mounted to that
directory to make backups work :-)
2025-08-06 01:15:54 +03:00
Vitaliy Filippov 6bf136c199 Add a note about /etc/apt/preferences to docs 2025-08-05 11:25:06 +03:00
Vitaliy Filippov b529f77264 Release 2.2.3
- Support Ubuntu 24.04 Noble
- Fix clients hanging on online PG count change with in-flight operations
- Fix volume_size_info in PVE VitastorPlugin
- Implement bdrv_refresh_filename for the QEMU driver
- Fix RDMA-CM broken in 2.2.0
- Fix possible "invalid %N$ use detected" OSD crashes
- Fix vitastor-nfs build without RDMA
- Fix docker build by adding the forgotten apt/preferences
- Fix libfio_blockstore.so
- Fix "trigger event loop automatically" API version check in the QEMU driver
- Add Content-Type header for prometheus metrics
- Add a patch for libvirt 11.5
2025-07-30 10:50:02 +03:00
Vitaliy Filippov bf9519dcdc docker -i 2025-07-30 10:50:02 +03:00
Vitaliy Filippov 4ba687738b Use archive for debian buster 2025-07-30 10:50:02 +03:00
Vitaliy Filippov 8427f6fe46 Use the new build method for RPM packages too 2025-07-30 02:38:52 +03:00
Vitaliy Filippov efa6bc3e70 Fix docker pull commands in docs 2025-07-30 02:38:52 +03:00
Vitaliy Filippov da33e9b12d Add noble repository 2025-07-30 02:38:52 +03:00
Vitaliy Filippov 2b30acfc1d Do not use podman and do not use build command to build packages (we are not building a docker image) 2025-07-30 02:38:52 +03:00
Vitaliy Filippov 7fbc38ef29 Add a build file for ubuntu 24.04 2025-07-29 02:51:59 +03:00
Vitaliy Filippov e5070e991a Add forgotten apt/preferences 2025-07-29 01:18:55 +03:00
Vitaliy Filippov 625552c441 Fix RDMA-CM broken in 2.2.0 2025-07-29 00:14:05 +03:00
Vitaliy Filippov 78c95c94f6 Use uint8_t* for BS buffers in OSD 2025-07-26 14:13:12 +03:00
Vitaliy Filippov 488e20bf55 Remove BS_OP_SYNC_STAB_ALL from OSD 2025-07-26 14:13:12 +03:00