Latest Posts

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 →

Vitastor 3.0.9 released

  • Fix clients reading from snapshots incorrectly on retries (for example when OSDs were restarted during read)
  • Fix a possible “send-after-free” in OSD. It turned out that this problem was never present in any released versions and the fix was only relevant for an unstable development branch. The change will be rolled back in 3.0.10.
  • Fix broken garbage collection in the new store leading to very high memory usage
  • Make the new store do full garbage collection on OSD startup by default (can be turned off with a new gc_on_start parameter)
  • Make startup logging with the new store more informative, allow to log amount of garbage with log_level > 1
  • Fix OSD crashing when handling a read_bitmap operation from a deleted object with the new store

2026-04-04 Continue reading →

Vitastor 3.0.8 released

  • Surrogate increment-only peer ID is now used instead of the file descriptor number, and client cleanup sequence is reworked in another attempt to fix a possible PG hang in ‘peering’ states. The history of this bug is unclear and it still hasn’t been reproduced in tests, but several users have reported it since 3.0.4 (only with enabled RDMA).
  • Fix a minor bug where an OSD could skip reporting misplaced PG state when moving an object in non-immediate_commit mode.
  • Add Ubuntu 26.04 (Resolute Raccoon) support and patches for qemu 10.2 and libvirt 12.0

Note: version 3.0.7 is re-released as 3.0.8 because of an originally incorrect build.

2026-03-29 Continue reading →

Older Posts →