Vitastor 3.0.3 released

2026-02-08

  • Fix csum_block_size > 0 unusable with atomic writes in the new store (almost all atomic write requests generated invalid checksums with csum_block_size > 0)
  • Fix monitor sometimes randomly failing to optimize PGs with the “problem is infeasible or unbounded” message due to not waiting to read full stdout of lp_solve
  • Remove reshard_abort optimisation to fix chunked resharding introduced in 3.0.2 possibly corrupting in-memory OSD state when handling multiple rapid PG count change requests
  • Fix removed inodes not disappearing from OSD statistics in the new store, leading to bloating of the statistics with old inodes
  • Increase test coverage for the new store and fix several minor bugs:
    • Enabling/disabling of used_for_app was recalculating inode space statistics incorrectly
    • Fix object metadata validation on OSD startup rejecting some correct sequences of entries, possibly leading to OSD being unable to start
    • Fix PG activation with EC failing in rare cases with EBUSY when requesting to commit an already committed write
    • Fix a theoretically possible metadata writeback issue on ENOSPC during commit
  • Fix monitor failing to optimize PGs in presence of a host with name convertible to js Number (like 04e278988710) :D
  • Fix vitastor-cli dd sometimes (rarely) truncating the image when writing to stdout
  • Fix a theoretically possible client connection object leak when io_uring is full
  • Fix a leak of RDMA-CM connection objects
  • Fix crashes with data_block_size < 32KB (useless setup, but anyway) (#113)