Latest Posts

Vitastor 3.2.1 released

  • Blockstores
    • Add more asynchrony to the chaos test to uncover more issues…
    • …and fix them (~6 in the old store, ~9 in the new store)
    • Fix size check for journal_offset when sharing meta device (thanks Changwei Ye)
  • Network layer
    • Correctly handle out-of-order zero-copy notifications (rare but possible in theory)
    • Fix double checksumming of header in proto_checksums=full mode
    • Add rxbounce option for Windows guests with TCP and enabled checksums
    • Close stopped peer sockets early to prevent hung zerocopy notifications and slow failover (~15 min instead of ~10 sec)
  • OSD
    • Do not die on local blockstore modification errors (irrelevant since added write error handling)
  • CSI
    • Fix VitastorFS NFS daemon lifecycle (thanks Dmitry Naumov)
    • Use a newer qemu-storage-daemon in CSI
  • vitastor-cli
    • Add dd opool option
    • Fix rm with “inverse” optimisation incorrectly removing layer data before rename possibly leading to incorrect reads from child images during removal of an older-than-latest snapshot
    • Fix a possible hang in merge and derived commands (rm, flatten)
    • Fix mistakes in the serve OpenAPI spec (thanks Stepan Rabotkin)
    • Fix possible segfaults in serve due to invalid request parsing (thanks Vincent Schweiger)
    • Fix serve no-HTTPS mode (thanks both :))
  • Build
    • Fix non-x86 builds failing due to unsupported xxhash x86dispatch
    • Forcibly enable assertions in all builds to remove build profile dependency
    • Fix QEMU driver build with QEMU < 10.2

2026-09-13 Continue reading →

Vitastor 3.2.0 released

This is a bugfix release, and most of the fixes came from a new approach to testing: a chaos test for the block store, which now runs in CI on every change.

Also thanks to Yury Luneff from MIND Software for another part of the fixes.

2026-08-31 Continue reading →

Vitastor 3.1.0 released

Finally, the security release!

New features:

  • Fully secure cluster setup support:
    • etcd transport encryption (TLS/mTLS)
    • OSD transport encryption (AES-GCM), header-only by default, thus very fast
    • End-to-end image data encryption (AES-XTS)
    • Optional external Vault AES-XTS key storage
    • Certificate-based authentication
    • Optional user privilege support with etcd- and OSD-based access control
    • xxhash3 transport checksums (data-only by default)
  • New on-disk checksum algorithm option: xxh3_32 - xxhash3 truncated to 32 bits
  • DNS name support for etcd and Vault URLs
  • HTTP API server mode: vitastor-cli serve
  • Mixing CAS and non-CAS writes within a single client instance is now allowed and works correctly
  • make-etcd can now initialize the whole cluster by copying configs and starting other nodes through ssh
  • Debian 10 (Buster) and CentOS 7 support is completed, packages won’t be updated anymore

Read detailed security feature documentation here: https://vitastor.io/docs/usage/security.html

2026-07-24 Continue reading →

Vitastor 3.0.16 released

Quite a bit of fixes, but mostly small. :-)

Most interesting fix affect pools without immediate_commit (for desktop SSDs): fixed corner cases in the commit (sync) operation and CAS write operation (used, for example, in VitastorFS).

Other notable changes: “double-claim” bug is fixed in the new store, and changes are made to reduce etcd load during active PG state switching.

You can read the details below.

2026-07-19 Continue reading →

Vitastor 3.0.15 released

Minor fixes this time:

  • A correct fix for QEMU virtual disk migration when iothread is enabled is finally found and released. Verified — migration now works. For now, QEMU packages are updated only for Proxmox 9, others will be updated shortly.
  • Fixed operations of Proxmox VMs with swTPM (for example, Windows VMs) without enabling NBD-based mounting of all disks (thanks to users from the chat).
  • It turned out that in recent releases, a version of Antietcd with broken cluster mode slipped into all Debian packages (but not RPMs) — this happened because the build used Antietcd from master rather than from a stable tag. This is now fixed - Debian packages are now built with stable Antietcd again, and the clustering issue is fixed in Antietcd itself. The issue was leading to failed leader election in a Antietcd cluster.
  • Fixed monitor startup with embedded Antietcd when using IPv6.
  • Fixed space statistics calculation for FS and S3 pools in the new storage (PR #127).

2026-06-28 Continue reading →

Vitastor 3.0.14 released

How many (bugs!) I’ve knifed, how many I’ve slit! (more than 50)

General note: most bug fixes now include regression tests to verify that they don’t repeat in the future. Most bugs fixed in this release were detected by using LLM analysis (Claude Opus/Fable, GPT 5.5).

2026-06-21 Continue reading →

Vitastor 3.0.13 released

  • New store fixes:
    • Fix repeated rollback logic
    • Fix crash on rolled back object compaction
    • Fix postpone_load possibly merging different object chains
    • Fix block_csums import in vitastor-disk write-meta
    • Fix header checksum after vitastor-disk write-meta
  • Old store fixes:
    • Fix batched fsync possibly skipped by some flush coroutines
  • Improve ENOSPC test, fix possible crash on ENOSPC
  • Add fsyncs to vitastor-disk prepare
  • Fix possible crash on pg_lock check failure in sec_read_bmp
  • Fix VitastorFS initialization when local_reads are enabled

2026-05-31 Continue reading →

Vitastor 3.0.12 released

Important fixes (except the new store)

  • Fixed a possible use-after-free in the OSD during error handling of initial commit/rollback of objects in EC pools.
  • Fixed a possible free of an invalid pointer in the OSD during read errors from snapshot/clone chains in EC pools.
  • Fixed possibly incorrect handling of commit/rollback operations in EC pools during pool PG count changes.
  • Fixed the inverted fsync enable parameter in the ublk driver (fsync was not enabled on pools without immediate_commit).
  • Added the raw-ls command for debugging purposes to find object versions in the cluster using listing operations.

2026-05-17 Continue reading →

Vitastor 3.0.11 released

A single hotfix:

  • Fix missing bitmap read error handling in EC reads from cloned images or from images with snapshots potentially leading to invalid (zero) reads during OSD restarts / PG repeerings

⚠️ Warning - if you’re affected, ideally you should pause client I/O during update

2026-05-09 Continue reading →

Vitastor 3.0.10 released

Important bug fixes (new store):

  • Fix OSDs possibly refusing to start with “write metadata failed at offset xxx: Invalid argument” (fix buffer alignment during initial garbage collection)
  • Rollback change from 3.0.4 - on-disk garbage entries are not skipped on start again. This change doesn’t have any impact normally, but OSDs originally running 3.0.0-3.0.2 and then upgraded to 3.0.9 may hit a bug where 3.0.9 refuses to start due to entries marked as garbage too early and flushed to disk in 3.0.0-3.0.2.

Other changes:

  • Auto-select the only RDMA device/port if there is only one
  • Rollback one 3.0.9 change - there was no actual use-after-free :) (the problem was only relevant to an unstable development version)
  • Fix vitastor-nfs --trace option
  • Fix an unintended 1 second sleep in vitastor-cli rm-data
  • Fix inode statistics not being cleared for a deleted pool
  • Fix print to stdout in client

2026-04-27 Continue reading →

Older Posts →