-
Release 2.4.3
StableAll checks were successfulTest / buildenv (push) Successful in 20sTest / build (push) Successful in 5m43sTest / npm_lint (push) Successful in 17sTest / test_cas (push) Successful in 16sTest / test_change_pg_count (push) Successful in 37sTest / test_change_pg_count_ec (push) Successful in 44sTest / test_change_pg_size (push) Successful in 22sTest / make_test (push) Successful in 1m46sTest / test_add_osd (push) Successful in 1m49sTest / test_create_nomaxid (push) Successful in 13sTest / test_change_pg_count_online (push) Successful in 1m16sTest / test_etcd_fail_antietcd (push) Successful in 44sTest / test_etcd_fail (push) Successful in 51sTest / test_interrupted_rebalance (push) Successful in 57sTest / test_interrupted_rebalance_imm (push) Successful in 55sTest / test_create_halfhost (push) Successful in 13sTest / test_failure_domain (push) Successful in 19sTest / test_interrupted_rebalance_ec_imm (push) Successful in 54sTest / test_interrupted_rebalance_ec (push) Successful in 1m0sTest / test_snapshot (push) Successful in 18sTest / test_minsize_1 (push) Successful in 16sTest / test_snapshot_ec (push) Successful in 24sTest / test_move_reappear (push) Successful in 20sTest / test_rm (push) Successful in 14sTest / test_degraded (push) Successful in 31sTest / test_snapshot_chain (push) Successful in 38sTest / test_snapshot_down (push) Successful in 17sTest / test_snapshot_chain_ec (push) Successful in 48sTest / test_snapshot_down_ec (push) Successful in 21sTest / test_rm_degraded (push) Successful in 1m8sTest / test_splitbrain (push) Successful in 19sTest / test_rebalance_verify (push) Successful in 2m13sTest / test_rebalance_verify_imm (push) Successful in 2m11sTest / test_rebalance_verify_ec (push) Successful in 2m23sTest / test_rebalance_verify_ec_imm (push) Successful in 2m25sTest / test_root_node (push) Successful in 13sTest / test_dd (push) Successful in 20sTest / test_switch_primary (push) Successful in 37sTest / test_write (push) Successful in 43sTest / test_write_xor (push) Successful in 46sTest / test_write_iothreads (push) Successful in 45sTest / test_write_no_same (push) Successful in 17sTest / test_heal_pg_size_2 (push) Successful in 2m24sTest / test_reweight_half (push) Successful in 15sTest / test_heal_local_read (push) Successful in 2m29sTest / test_heal_ec (push) Successful in 2m29sTest / test_heal_antietcd (push) Successful in 2m31sTest / test_snapshot_pool2 (push) Successful in 22sTest / test_snapshot_read_bitmap (push) Successful in 16sTest / test_heal_csum_32k_dj (push) Successful in 2m29sTest / test_heal_csum_32k (push) Successful in 2m29sTest / test_heal_csum_32k_dmj (push) Successful in 2m35sTest / test_heal_csum_4k_dmj (push) Successful in 2m29sTest / test_resize_auto (push) Successful in 14sTest / test_resize (push) Successful in 22sTest / test_osd_tags (push) Successful in 14sTest / test_enospc (push) Successful in 15sTest / test_enospc_xor (push) Successful in 20sTest / test_enospc_imm (push) Successful in 22sTest / test_enospc_imm_xor (push) Successful in 20sTest / test_scrub (push) Successful in 24sTest / test_scrub_zero_osd_2 (push) Successful in 25sTest / test_scrub_xor (push) Successful in 23sTest / test_scrub_pg_size_3 (push) Successful in 27sTest / test_heal_csum_4k_dj (push) Successful in 2m38sTest / test_heal_csum_4k (push) Successful in 2m38sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 27sTest / test_scrub_ec (push) Successful in 24sTest / test_nfs (push) Successful in 18sreleased this
2025-11-09 02:18:35 +03:00 | 0 commits to master since this releaseDownloads
-
Release 2.4.2
StableAll checks were successfulTest / buildenv (push) Successful in 12sTest / build (push) Successful in 4m25sTest / npm_lint (push) Successful in 10sTest / test_cas (push) Successful in 11sTest / test_change_pg_count (push) Successful in 35sTest / test_change_pg_count_ec (push) Successful in 41sTest / test_change_pg_size (push) Successful in 16sTest / make_test (push) Successful in 1m17sTest / test_add_osd (push) Successful in 1m29sTest / test_create_nomaxid (push) Successful in 10sTest / test_change_pg_count_online (push) Successful in 1m11sTest / test_etcd_fail_antietcd (push) Successful in 41sTest / test_etcd_fail (push) Successful in 45sTest / test_interrupted_rebalance (push) Successful in 49sTest / test_interrupted_rebalance_imm (push) Successful in 49sTest / test_create_halfhost (push) Successful in 11sTest / test_interrupted_rebalance_ec (push) Successful in 51sTest / test_failure_domain (push) Successful in 15sTest / test_interrupted_rebalance_ec_imm (push) Successful in 51sTest / test_snapshot (push) Successful in 17sTest / test_snapshot_ec (push) Successful in 18sTest / test_rm (push) Successful in 10sTest / test_minsize_1 (push) Successful in 16sTest / test_move_reappear (push) Successful in 18sTest / test_snapshot_down (push) Successful in 13sTest / test_snapshot_chain (push) Successful in 28sTest / test_snapshot_chain_ec (push) Successful in 36sTest / test_snapshot_down_ec (push) Successful in 16sTest / test_rm_degraded (push) Successful in 51sTest / test_splitbrain (push) Successful in 15sTest / test_rebalance_verify (push) Successful in 1m39sTest / test_rebalance_verify_imm (push) Successful in 1m42sTest / test_dd (push) Successful in 16sTest / test_rebalance_verify_ec_imm (push) Successful in 1m45sTest / test_rebalance_verify_ec (push) Successful in 1m48sTest / test_root_node (push) Successful in 10sTest / test_switch_primary (push) Successful in 35sTest / test_write (push) Successful in 37sTest / test_write_no_same (push) Successful in 11sTest / test_write_xor (push) Successful in 40sTest / test_write_iothreads (push) Successful in 40sTest / test_heal_pg_size_2 (push) Successful in 2m30sTest / test_heal_ec (push) Successful in 2m33sTest / test_heal_local_read (push) Successful in 2m37sTest / test_heal_antietcd (push) Successful in 2m32sTest / test_reweight_half (push) Successful in 17sTest / test_snapshot_read_bitmap (push) Successful in 20sTest / test_snapshot_pool2 (push) Successful in 25sTest / test_heal_csum_32k_dmj (push) Successful in 2m30sTest / test_heal_csum_32k_dj (push) Successful in 2m40sTest / test_heal_csum_32k (push) Successful in 2m30sTest / test_heal_csum_4k_dmj (push) Successful in 2m33sTest / test_resize_auto (push) Successful in 10sTest / test_resize (push) Successful in 16sTest / test_osd_tags (push) Successful in 12sTest / test_enospc (push) Successful in 15sTest / test_enospc_xor (push) Successful in 14sTest / test_enospc_imm (push) Successful in 16sTest / test_enospc_imm_xor (push) Successful in 17sTest / test_scrub (push) Successful in 14sTest / test_scrub_zero_osd_2 (push) Successful in 16sTest / test_scrub_xor (push) Successful in 18sTest / test_scrub_pg_size_3 (push) Successful in 18sTest / test_heal_csum_4k_dj (push) Successful in 2m24sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 19sTest / test_heal_csum_4k (push) Successful in 2m21sTest / test_nfs (push) Successful in 13sTest / test_scrub_ec (push) Successful in 16sreleased this
2025-11-04 17:51:09 +03:00 | 6 commits to master since this releaseA micro-fix to the make-etcd script and a minor fix to vitastor-cli rm
leaving "deleted" flag after itself when using "inverse delete".Downloads
-
Release 2.4.1
StableAll checks were successfulTest / buildenv (push) Successful in 12sTest / build (push) Successful in 4m14sTest / npm_lint (push) Successful in 13sTest / test_cas (push) Successful in 10sTest / test_change_pg_count (push) Successful in 35sTest / test_change_pg_count_ec (push) Successful in 35sTest / test_change_pg_size (push) Successful in 9sTest / make_test (push) Successful in 1m11sTest / test_create_nomaxid (push) Successful in 14sTest / test_add_osd (push) Successful in 1m20sTest / test_etcd_fail (push) Successful in 41sTest / test_etcd_fail_antietcd (push) Successful in 41sTest / test_change_pg_count_online (push) Successful in 1m12sTest / test_interrupted_rebalance (push) Successful in 50sTest / test_create_halfhost (push) Successful in 8sTest / test_failure_domain (push) Successful in 12sTest / test_interrupted_rebalance_imm (push) Successful in 48sTest / test_interrupted_rebalance_ec (push) Successful in 52sTest / test_snapshot (push) Successful in 15sTest / test_interrupted_rebalance_ec_imm (push) Successful in 49sTest / test_snapshot_ec (push) Successful in 14sTest / test_minsize_1 (push) Successful in 15sTest / test_rm (push) Successful in 10sTest / test_move_reappear (push) Successful in 19sTest / test_snapshot_down (push) Successful in 13sTest / test_snapshot_chain (push) Successful in 29sTest / test_snapshot_down_ec (push) Successful in 12sTest / test_splitbrain (push) Successful in 13sTest / test_snapshot_chain_ec (push) Successful in 37sTest / test_rm_degraded (push) Successful in 47sTest / test_rebalance_verify (push) Successful in 1m35sTest / test_rebalance_verify_imm (push) Successful in 1m34sTest / test_root_node (push) Successful in 9sTest / test_rebalance_verify_ec (push) Successful in 1m42sTest / test_dd (push) Successful in 13sTest / test_rebalance_verify_ec_imm (push) Successful in 1m41sTest / test_switch_primary (push) Successful in 34sTest / test_write (push) Successful in 37sTest / test_write_xor (push) Successful in 39sTest / test_write_iothreads (push) Successful in 39sTest / test_write_no_same (push) Successful in 10sTest / test_heal_pg_size_2 (push) Successful in 2m21sTest / test_heal_local_read (push) Successful in 2m21sTest / test_heal_ec (push) Successful in 2m21sTest / test_reweight_half (push) Successful in 12sTest / test_heal_antietcd (push) Successful in 2m20sTest / test_snapshot_pool2 (push) Successful in 16sTest / test_snapshot_read_bitmap (push) Successful in 13sTest / test_heal_csum_32k_dj (push) Successful in 2m27sTest / test_heal_csum_32k_dmj (push) Successful in 2m30sTest / test_heal_csum_32k (push) Successful in 2m27sTest / test_heal_csum_4k_dmj (push) Successful in 2m29sTest / test_resize_auto (push) Successful in 10sTest / test_resize (push) Successful in 18sTest / test_osd_tags (push) Successful in 11sTest / test_enospc (push) Successful in 17sTest / test_enospc_xor (push) Successful in 16sTest / test_enospc_imm (push) Successful in 13sTest / test_enospc_imm_xor (push) Successful in 15sTest / test_scrub (push) Successful in 15sTest / test_scrub_zero_osd_2 (push) Successful in 15sTest / test_scrub_xor (push) Successful in 15sTest / test_scrub_pg_size_3 (push) Successful in 17sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 18sTest / test_scrub_ec (push) Successful in 16sTest / test_nfs (push) Successful in 13sTest / test_heal_csum_4k_dj (push) Successful in 2m23sTest / test_heal_csum_4k (push) Successful in 2m22sreleased this
2025-10-29 01:39:33 +03:00 | 12 commits to master since this release- 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
Downloads
-
Release 2.4.0
StableSome checks failedTest / buildenv (push) Successful in 10sTest / build (push) Successful in 4m1sTest / npm_lint (push) Successful in 9sTest / test_cas (push) Successful in 9sTest / test_change_pg_count (push) Successful in 33sTest / make_test (push) Successful in 1m8sTest / test_add_osd (push) Successful in 1m14sTest / test_change_pg_count_ec (push) Successful in 32sTest / test_change_pg_size (push) Successful in 10sTest / test_create_nomaxid (push) Successful in 9sTest / test_etcd_fail (push) Successful in 44sTest / test_change_pg_count_online (push) Successful in 1m9sTest / test_etcd_fail_antietcd (push) Successful in 40sTest / test_interrupted_rebalance (push) Successful in 48sTest / test_interrupted_rebalance_imm (push) Successful in 45sTest / test_interrupted_rebalance_ec (push) Successful in 46sTest / test_create_halfhost (push) Successful in 5sTest / test_failure_domain (push) Successful in 12sTest / test_snapshot (push) Successful in 12sTest / test_snapshot_ec (push) Successful in 13sTest / test_rm (push) Successful in 8sTest / test_minsize_1 (push) Successful in 12sTest / test_move_reappear (push) Successful in 16sTest / test_interrupted_rebalance_ec_imm (push) Successful in 47sTest / test_snapshot_down (push) Successful in 12sTest / test_snapshot_chain (push) Successful in 27sTest / test_snapshot_down_ec (push) Successful in 13sTest / test_snapshot_chain_ec (push) Successful in 35sTest / test_splitbrain (push) Successful in 13sTest / test_rebalance_verify (push) Successful in 1m41sTest / test_rebalance_verify_imm (push) Successful in 1m43sTest / test_rebalance_verify_ec (push) Successful in 1m48sTest / test_dd (push) Successful in 14sTest / test_root_node (push) Successful in 7sTest / test_rm_degraded (push) Failing after 3m5sTest / test_switch_primary (push) Successful in 33sTest / test_write (push) Successful in 33sTest / test_write_no_same (push) Successful in 10sTest / test_write_xor (push) Successful in 36sTest / test_write_iothreads (push) Successful in 38sTest / test_rebalance_verify_ec_imm (push) Successful in 1m39sTest / test_heal_pg_size_2 (push) Successful in 2m15sTest / test_reweight_half (push) Successful in 11sTest / test_heal_local_read (push) Successful in 2m16sTest / test_snapshot_pool2 (push) Successful in 14sTest / test_heal_ec (push) Successful in 2m19sTest / test_snapshot_read_bitmap (push) Successful in 10sTest / test_heal_antietcd (push) Successful in 2m20sTest / test_heal_csum_32k_dj (push) Successful in 2m28sTest / test_heal_csum_32k (push) Successful in 2m26sTest / test_heal_csum_4k_dmj (push) Successful in 2m27sTest / test_heal_csum_32k_dmj (push) Failing after 2m40sTest / test_resize (push) Successful in 16sTest / test_resize_auto (push) Successful in 10sTest / test_osd_tags (push) Successful in 10sTest / test_enospc (push) Successful in 12sTest / test_enospc_xor (push) Successful in 14sTest / test_enospc_imm (push) Successful in 10sTest / test_enospc_imm_xor (push) Successful in 16sTest / test_scrub (push) Successful in 16sTest / test_scrub_zero_osd_2 (push) Successful in 14sTest / test_scrub_xor (push) Successful in 17sTest / test_scrub_pg_size_3 (push) Successful in 16sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 19sTest / test_scrub_ec (push) Successful in 16sTest / test_nfs (push) Successful in 13sTest / test_heal_csum_4k_dj (push) Successful in 2m20sTest / test_heal_csum_4k (push) Successful in 2m22sreleased this
2025-09-24 15:40:41 +03:00 | 29 commits to master since this releaseNew 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)
Downloads
-
Release 2.3.0
StableAll checks were successfulTest / buildenv (push) Successful in 15sTest / build (push) Successful in 4m28sTest / npm_lint (push) Successful in 11sTest / test_cas (push) Successful in 10sTest / make_test (push) Successful in 39sTest / test_change_pg_count (push) Successful in 31sTest / test_change_pg_count_ec (push) Successful in 36sTest / test_change_pg_size (push) Successful in 8sTest / test_create_nomaxid (push) Successful in 9sTest / test_add_osd (push) Successful in 1m15sTest / test_etcd_fail (push) Successful in 42sTest / test_etcd_fail_antietcd (push) Successful in 40sTest / test_change_pg_count_online (push) Successful in 1m12sTest / test_interrupted_rebalance (push) Successful in 46sTest / test_create_halfhost (push) Successful in 6sTest / test_failure_domain (push) Successful in 10sTest / test_interrupted_rebalance_imm (push) Successful in 49sTest / test_interrupted_rebalance_ec (push) Successful in 53sTest / test_snapshot (push) Successful in 13sTest / test_snapshot_ec (push) Successful in 13sTest / test_interrupted_rebalance_ec_imm (push) Successful in 49sTest / test_minsize_1 (push) Successful in 12sTest / test_rm (push) Successful in 10sTest / test_move_reappear (push) Successful in 16sTest / test_snapshot_down (push) Successful in 11sTest / test_snapshot_chain (push) Successful in 28sTest / test_snapshot_down_ec (push) Successful in 11sTest / test_snapshot_chain_ec (push) Successful in 35sTest / test_splitbrain (push) Successful in 12sTest / test_rm_degraded (push) Successful in 1m4sTest / test_rebalance_verify (push) Successful in 1m47sTest / test_rebalance_verify_imm (push) Successful in 1m46sTest / test_dd (push) Successful in 12sTest / test_rebalance_verify_ec (push) Successful in 1m51sTest / test_root_node (push) Successful in 10sTest / test_rebalance_verify_ec_imm (push) Successful in 1m46sTest / test_switch_primary (push) Successful in 32sTest / test_write (push) Successful in 37sTest / test_write_no_same (push) Successful in 11sTest / test_write_xor (push) Successful in 39sTest / test_write_iothreads (push) Successful in 41sTest / test_heal_pg_size_2 (push) Successful in 2m20sTest / test_heal_local_read (push) Successful in 2m21sTest / test_heal_ec (push) Successful in 2m22sTest / test_heal_csum_32k_dmj (push) Successful in 2m21sTest / test_heal_csum_32k_dj (push) Successful in 2m20sTest / test_heal_csum_32k (push) Successful in 2m19sTest / test_resize (push) Successful in 14sTest / test_heal_csum_4k_dmj (push) Successful in 2m25sTest / test_resize_auto (push) Successful in 9sTest / test_osd_tags (push) Successful in 8sTest / test_snapshot_pool2 (push) Successful in 15sTest / test_enospc (push) Successful in 19sTest / test_enospc_xor (push) Successful in 20sTest / test_enospc_imm (push) Successful in 12sTest / test_enospc_imm_xor (push) Successful in 16sTest / test_scrub (push) Successful in 17sTest / test_scrub_zero_osd_2 (push) Successful in 19sTest / test_scrub_xor (push) Successful in 18sTest / test_scrub_pg_size_3 (push) Successful in 16sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 18sTest / test_scrub_ec (push) Successful in 16sTest / test_nfs (push) Successful in 12sTest / test_heal_csum_4k_dj (push) Successful in 2m20sTest / test_heal_csum_4k (push) Successful in 2m22sTest / test_heal_antietcd (push) Successful in 2m21sreleased this
2025-08-25 21:39:19 +03:00 | 61 commits to master since this releaseNew features:
- Add a new kernel device mounting method: ublk.
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
cookieequal 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
Downloads
- Add a new kernel device mounting method: ublk.
-
Release 2.2.3 Stable
released this
2025-07-30 10:50:02 +03:00 | 96 commits to master since this release- 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
Downloads
-
Release 2.2.2
StableSome checks reported warningsTest / test_snapshot (push) Blocked by required conditionsTest / test_snapshot_ec (push) Blocked by required conditionsTest / test_minsize_1 (push) Blocked by required conditionsTest / test_move_reappear (push) Blocked by required conditionsTest / test_rm (push) Blocked by required conditionsTest / test_rm_degraded (push) Blocked by required conditionsTest / test_snapshot_chain (push) Blocked by required conditionsTest / test_snapshot_chain_ec (push) Blocked by required conditionsTest / test_snapshot_down (push) Blocked by required conditionsTest / test_snapshot_down_ec (push) Blocked by required conditionsTest / test_splitbrain (push) Blocked by required conditionsTest / test_rebalance_verify (push) Blocked by required conditionsTest / test_rebalance_verify_imm (push) Blocked by required conditionsTest / test_rebalance_verify_ec (push) Blocked by required conditionsTest / test_rebalance_verify_ec_imm (push) Blocked by required conditionsTest / test_dd (push) Blocked by required conditionsTest / test_root_node (push) Blocked by required conditionsTest / test_switch_primary (push) Blocked by required conditionsTest / test_write (push) Blocked by required conditionsTest / test_write_xor (push) Blocked by required conditionsTest / test_write_iothreads (push) Blocked by required conditionsTest / test_write_no_same (push) Blocked by required conditionsTest / test_heal_pg_size_2 (push) Blocked by required conditionsTest / test_heal_local_read (push) Blocked by required conditionsTest / test_heal_ec (push) Blocked by required conditionsTest / test_heal_antietcd (push) Blocked by required conditionsTest / test_heal_csum_32k_dmj (push) Blocked by required conditionsTest / test_heal_csum_32k_dj (push) Blocked by required conditionsTest / test_heal_csum_32k (push) Blocked by required conditionsTest / test_heal_csum_4k_dmj (push) Blocked by required conditionsTest / test_heal_csum_4k_dj (push) Blocked by required conditionsTest / test_heal_csum_4k (push) Blocked by required conditionsTest / test_resize (push) Blocked by required conditionsTest / test_resize_auto (push) Blocked by required conditionsTest / test_snapshot_pool2 (push) Blocked by required conditionsTest / test_osd_tags (push) Blocked by required conditionsTest / test_enospc (push) Blocked by required conditionsTest / test_enospc_xor (push) Blocked by required conditionsTest / test_enospc_imm (push) Blocked by required conditionsTest / test_enospc_imm_xor (push) Blocked by required conditionsTest / test_scrub (push) Blocked by required conditionsTest / test_scrub_zero_osd_2 (push) Blocked by required conditionsTest / test_scrub_xor (push) Blocked by required conditionsTest / test_scrub_pg_size_3 (push) Blocked by required conditionsTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Blocked by required conditionsTest / test_scrub_ec (push) Blocked by required conditionsTest / test_nfs (push) Blocked by required conditionsTest / buildenv (push) Successful in 10sTest / make_test (push) Has been cancelledTest / npm_lint (push) Has been cancelledTest / test_add_osd (push) Has been cancelledTest / test_cas (push) Has been cancelledTest / build (push) Has been cancelledTest / test_change_pg_count (push) Has been cancelledTest / test_change_pg_count_ec (push) Has been cancelledTest / test_change_pg_size (push) Has been cancelledTest / test_create_nomaxid (push) Has been cancelledTest / test_etcd_fail (push) Has been cancelledTest / test_etcd_fail_antietcd (push) Has been cancelledTest / test_interrupted_rebalance (push) Has been cancelledTest / test_interrupted_rebalance_imm (push) Has been cancelledTest / test_interrupted_rebalance_ec (push) Has been cancelledTest / test_interrupted_rebalance_ec_imm (push) Has been cancelledTest / test_create_halfhost (push) Has been cancelledTest / test_failure_domain (push) Has been cancelledreleased this
2025-06-07 12:56:48 +03:00 | 119 commits to master since this release- Fix a bug introduced in 2.2.0 - pg_locks weren't disabled for pools without local_reads
correctly which could lead to inactive pools during various operations - Fix an old bug where OSDs could send sub-operations to incorrect peer OSDs when their
connections were stopped and reestablished quickly, in 2.2.0 it was usually leading
to "sequencing broken" messages in OSD logs - Fix debug use_sync_send_recv mode
Downloads
- Fix a bug introduced in 2.2.0 - pg_locks weren't disabled for pools without local_reads
-
Release 2.2.1
StableAll checks were successfulTest / buildenv (push) Successful in 10sTest / build (push) Successful in 4m19sTest / npm_lint (push) Successful in 12sTest / test_cas (push) Successful in 9sTest / make_test (push) Successful in 38sTest / test_change_pg_size (push) Successful in 7sTest / test_change_pg_count (push) Successful in 32sTest / test_change_pg_count_ec (push) Successful in 32sTest / test_create_nomaxid (push) Successful in 8sTest / test_add_osd (push) Successful in 1m16sTest / test_etcd_fail_antietcd (push) Successful in 39sTest / test_etcd_fail (push) Successful in 43sTest / test_interrupted_rebalance (push) Successful in 51sTest / test_create_halfhost (push) Successful in 7sTest / test_failure_domain (push) Successful in 10sTest / test_interrupted_rebalance_imm (push) Successful in 47sTest / test_snapshot (push) Successful in 13sTest / test_snapshot_ec (push) Successful in 14sTest / test_interrupted_rebalance_ec_imm (push) Successful in 54sTest / test_interrupted_rebalance_ec (push) Successful in 57sTest / test_minsize_1 (push) Successful in 13sTest / test_rm (push) Successful in 10sTest / test_move_reappear (push) Successful in 17sTest / test_snapshot_down (push) Successful in 11sTest / test_snapshot_chain (push) Successful in 28sTest / test_snapshot_down_ec (push) Successful in 11sTest / test_snapshot_chain_ec (push) Successful in 36sTest / test_splitbrain (push) Successful in 12sTest / test_rm_degraded (push) Successful in 1m1sTest / test_dd (push) Successful in 11sTest / test_root_node (push) Successful in 10sTest / test_switch_primary (push) Successful in 33sTest / test_rebalance_verify_imm (push) Successful in 1m39sTest / test_write (push) Successful in 34sTest / test_rebalance_verify_ec (push) Successful in 1m46sTest / test_rebalance_verify_ec_imm (push) Successful in 1m47sTest / test_write_no_same (push) Successful in 9sTest / test_write_xor (push) Successful in 36sTest / test_write_iothreads (push) Successful in 36sTest / test_heal_pg_size_2 (push) Successful in 2m15sTest / test_heal_local_read (push) Successful in 2m21sTest / test_heal_ec (push) Successful in 2m16sTest / test_heal_antietcd (push) Successful in 2m18sTest / test_heal_csum_32k_dmj (push) Successful in 2m29sTest / test_heal_csum_32k_dj (push) Successful in 2m24sTest / test_heal_csum_32k (push) Successful in 2m29sTest / test_heal_csum_4k_dmj (push) Successful in 2m27sTest / test_resize_auto (push) Successful in 11sTest / test_resize (push) Successful in 18sTest / test_osd_tags (push) Successful in 10sTest / test_snapshot_pool2 (push) Successful in 18sTest / test_enospc (push) Successful in 12sTest / test_enospc_xor (push) Successful in 14sTest / test_enospc_imm (push) Successful in 11sTest / test_enospc_imm_xor (push) Successful in 15sTest / test_scrub (push) Successful in 12sTest / test_scrub_zero_osd_2 (push) Successful in 14sTest / test_scrub_xor (push) Successful in 16sTest / test_scrub_pg_size_3 (push) Successful in 13sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 16sTest / test_scrub_ec (push) Successful in 17sTest / test_nfs (push) Successful in 11sTest / test_heal_csum_4k_dj (push) Successful in 2m24sTest / test_heal_csum_4k (push) Successful in 2m27sTest / test_rebalance_verify (push) Successful in 1m51sreleased this
2025-05-25 01:04:48 +03:00 | 129 commits to master since this release- Fix vitastor-disk purge broken after adding the "OSD is still running" check
- Fix iothreads hanging after adding zero-copy send support
- Fix enabling localized reads online (without restarting OSDs) in the default PG lock mode
Downloads
-
Release 2.2.0
StableAll checks were successfulTest / buildenv (push) Successful in 10sTest / build (push) Successful in 4m15sTest / npm_lint (push) Successful in 12sTest / test_cas (push) Successful in 11sTest / make_test (push) Successful in 42sTest / test_change_pg_size (push) Successful in 7sTest / test_change_pg_count (push) Successful in 35sTest / test_change_pg_count_ec (push) Successful in 38sTest / test_create_nomaxid (push) Successful in 7sTest / test_add_osd (push) Successful in 1m22sTest / test_etcd_fail_antietcd (push) Successful in 38sTest / test_etcd_fail (push) Successful in 43sTest / test_interrupted_rebalance (push) Successful in 45sTest / test_create_halfhost (push) Successful in 7sTest / test_failure_domain (push) Successful in 13sTest / test_interrupted_rebalance_imm (push) Successful in 47sTest / test_snapshot (push) Successful in 15sTest / test_interrupted_rebalance_ec (push) Successful in 47sTest / test_interrupted_rebalance_ec_imm (push) Successful in 49sTest / test_snapshot_ec (push) Successful in 16sTest / test_minsize_1 (push) Successful in 12sTest / test_rm (push) Successful in 10sTest / test_move_reappear (push) Successful in 16sTest / test_snapshot_down (push) Successful in 14sTest / test_snapshot_chain (push) Successful in 30sTest / test_snapshot_down_ec (push) Successful in 11sTest / test_snapshot_chain_ec (push) Successful in 37sTest / test_splitbrain (push) Successful in 12sTest / test_rm_degraded (push) Successful in 1m3sTest / test_rebalance_verify (push) Successful in 1m37sTest / test_rebalance_verify_imm (push) Successful in 1m37sTest / test_dd (push) Successful in 13sTest / test_rebalance_verify_ec (push) Successful in 1m42sTest / test_root_node (push) Successful in 9sTest / test_rebalance_verify_ec_imm (push) Successful in 1m43sTest / test_write_no_same (push) Successful in 7sTest / test_switch_primary (push) Successful in 34sTest / test_write (push) Successful in 31sTest / test_write_xor (push) Successful in 34sTest / test_heal_pg_size_2 (push) Successful in 2m16sTest / test_heal_local_read (push) Successful in 2m17sTest / test_heal_antietcd (push) Successful in 2m19sTest / test_heal_csum_32k_dmj (push) Successful in 2m29sTest / test_heal_csum_32k_dj (push) Successful in 2m29sTest / test_heal_csum_32k (push) Successful in 2m22sTest / test_heal_csum_4k_dmj (push) Successful in 2m30sTest / test_resize (push) Successful in 16sTest / test_resize_auto (push) Successful in 10sTest / test_osd_tags (push) Successful in 11sTest / test_snapshot_pool2 (push) Successful in 16sTest / test_enospc (push) Successful in 12sTest / test_enospc_xor (push) Successful in 13sTest / test_enospc_imm (push) Successful in 11sTest / test_enospc_imm_xor (push) Successful in 12sTest / test_scrub (push) Successful in 14sTest / test_scrub_zero_osd_2 (push) Successful in 14sTest / test_scrub_xor (push) Successful in 14sTest / test_scrub_pg_size_3 (push) Successful in 14sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 16sTest / test_scrub_ec (push) Successful in 18sTest / test_nfs (push) Successful in 11sTest / test_heal_csum_4k_dj (push) Successful in 2m20sTest / test_heal_csum_4k (push) Successful in 2m23sTest / test_heal_ec (push) Successful in 2m16sreleased this
2025-05-11 00:26:08 +03:00 | 140 commits to master since this releaseNew features:
- Localized read support for multi-datacenter setups.
- io_uring-based zero-copy send support - read the instruction carefully for optimal performance!
- Improve and speedup data distribution, especially in cases of very large hosts (100 OSD+). Previously, PG optimization speed depended on the number of OSDs, now it only depends on the number of failure domains. Distribution over specific OSDs is now also more even and becomes strictly more even when you increase the number of PGs.
- Add a very interesting instruction to change NFS_MAX_FILE_IO_SIZE
- Check operation sequencing and stop connections when it breaks - should help catch some very rare RDMA packet loss problems.
vitastor-cli rm-osdnow refuses to remove OSDs which are still up and suggests to usevitastor-disk purge.- Allow removal of direntries referring non-existent inodes in VitastorFS.
- Change default vitastor-etcd data dir to /var/lib/etcd/vitastor.
Bug fixes:
- Fix compatibility with ISA-L 2.31+. ⚠️Very important: please upgrade Vitastor before upgrading ISA-L to 2.31+.
- Fix in-memory state cleanup for incomplete PGs.
- Fix monitor crash with non-existent node_placement nodes.
- Slightly speedup
vitastor-kv dumpcommand by adding output buffering. - Fix theoretically possible slowdowns in OSD sub-operation failure handling code.
- Fix very rare stack overflows in vitastor-kv.
- Fix a possible crash in VitastorFS during handling of file creation race condition.
- Fix modify-pool -s PG_SIZE which didn't work without --pg_minsize.
- Fix marking peer OSDs as alive on receiving data from them via RDMA - in theory,
the bug could result in instability with RDMA under high load with slow disks. - Fix a rare OSD crash due to double handle_primary_subop() call.
- Fix latency aggregation in global stats (/vitastor/stats in etcd) - do not sum it.
- Hide "Ran out of journal space" log messages by default.
- Wait for RDMA-CM EVENT_ESTABLISHED after rdma_accept(), handle rdma_accept() before acking the event.
- Fix VitastorFS total & free numbers multiplied by extra 2.
- Fix systemd unit name in make-etcd.
- Do not allow reweight > 1 in vitastor-cli modify-osd.
- Fix docker build.
Downloads
-
Release 2.1.0
StableAll checks were successfulTest / buildenv (push) Successful in 17sTest / build (push) Successful in 4m13sTest / npm_lint (push) Successful in 13sTest / test_cas (push) Successful in 15sTest / test_change_pg_count (push) Successful in 22sTest / make_test (push) Successful in 37sTest / test_change_pg_count_ec (push) Successful in 22sTest / test_change_pg_size (push) Successful in 13sTest / test_create_nomaxid (push) Successful in 13sTest / test_add_osd (push) Successful in 1m11sTest / test_etcd_fail (push) Successful in 48sTest / test_etcd_fail_antietcd (push) Successful in 44sTest / test_interrupted_rebalance (push) Successful in 51sTest / test_create_halfhost (push) Successful in 11sTest / test_interrupted_rebalance_imm (push) Successful in 50sTest / test_failure_domain (push) Successful in 13sTest / test_snapshot (push) Successful in 18sTest / test_interrupted_rebalance_ec (push) Successful in 53sTest / test_interrupted_rebalance_ec_imm (push) Successful in 50sTest / test_snapshot_ec (push) Successful in 18sTest / test_rm (push) Successful in 16sTest / test_minsize_1 (push) Successful in 20sTest / test_move_reappear (push) Successful in 23sTest / test_snapshot_down (push) Successful in 16sTest / test_snapshot_chain (push) Successful in 34sTest / test_snapshot_down_ec (push) Successful in 17sTest / test_snapshot_chain_ec (push) Successful in 42sTest / test_splitbrain (push) Successful in 17sTest / test_rm_degraded (push) Successful in 1m7sTest / test_rebalance_verify (push) Successful in 1m42sTest / test_rebalance_verify_imm (push) Successful in 1m45sTest / test_dd (push) Successful in 18sTest / test_rebalance_verify_ec (push) Successful in 1m50sTest / test_root_node (push) Successful in 13sTest / test_rebalance_verify_ec_imm (push) Successful in 1m52sTest / test_write_no_same (push) Successful in 14sTest / test_write (push) Successful in 37sTest / test_switch_primary (push) Successful in 39sTest / test_write_xor (push) Successful in 42sTest / test_heal_pg_size_2 (push) Successful in 2m20sTest / test_heal_ec (push) Successful in 2m22sTest / test_heal_antietcd (push) Successful in 2m22sTest / test_heal_csum_32k_dmj (push) Successful in 2m24sTest / test_heal_csum_32k_dj (push) Successful in 2m22sTest / test_heal_csum_32k (push) Successful in 2m24sTest / test_heal_csum_4k_dmj (push) Successful in 2m24sTest / test_heal_csum_4k_dj (push) Successful in 2m22sTest / test_resize_auto (push) Successful in 13sTest / test_resize (push) Successful in 17sTest / test_snapshot_pool2 (push) Successful in 21sTest / test_osd_tags (push) Successful in 12sTest / test_enospc (push) Successful in 16sTest / test_enospc_imm (push) Successful in 16sTest / test_enospc_xor (push) Successful in 19sTest / test_enospc_imm_xor (push) Successful in 19sTest / test_scrub (push) Successful in 17sTest / test_scrub_zero_osd_2 (push) Successful in 21sTest / test_scrub_xor (push) Successful in 20sTest / test_scrub_pg_size_3 (push) Successful in 20sTest / test_scrub_pg_size_6_pg_minsize_4_osd_count_6_ec (push) Successful in 22sTest / test_scrub_ec (push) Successful in 19sTest / test_nfs (push) Successful in 17sTest / test_heal_csum_4k (push) Successful in 2m22sreleased this
2025-04-01 20:16:27 +03:00 | 178 commits to master since this releaseNew features:
- Support separate OSD cluster network - osd_cluster_network
and, in general, multiple OSD networks, including RDMA - Add an alternative RDMA implementation via RDMA-CM - 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
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
Downloads
- Support separate OSD cluster network - osd_cluster_network