From 09df74cfaca879875357eef3592fa9147faca282 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Tue, 3 Mar 2026 02:14:53 +0300 Subject: [PATCH] Release 3.0.4 New store bug fixes: - Fix very slow OSD startup (hours) possible in unlucky cases - Fix incorrect garbage entry validation on start in some cases, preventing OSD startup - Fix small_write_throttling not functioning and either hanging or crashing OSDs - Fix "different fact_versions returned from subops" error possible with EC in some cases - Add a recovery option for the new store: skip_corrupted_meta_entries - Disable intent writes (even 4k) for hybrid OSDs by default for better write buffering Other changes: - Fix chmod/chown of a new empty VitastorFS root directory not working - Fix vitastor-dd treating all < 32k reads as always empty - Fix vitastor-disk always setting 32k csum_block_size for HDDs when checksums are enabled - Fix OSD missing PG state updates and PGs hanging in "starting" in rare cases - Fix a possible OSD crash with "map::at" message in rare cases when stopping a client - Fix a possible OSD crash on start when RDMA is available but fails to initialize - Fix removal and overwriting of totaled objects (objects with all corrupted copies) - Do not allow data_block_size < 8*bitmap_granularity - Remove RDMA ODP (On-Demand Paging) support - Update antietcd to 1.2.4 - Update Docker build to Debian Trixie - Add packages for AlmaLinux 10 --- CMakeLists.txt | 2 +- csi/Makefile | 2 +- csi/deploy/004-csi-nodeplugin.yaml | 2 +- csi/deploy/007-csi-provisioner.yaml | 2 +- csi/src/config.go | 2 +- debian/changelog | 2 +- docker/Makefile | 2 +- docker/etc/vitastor/docker.conf | 2 +- docs/installation/docker.en.md | 4 ++-- docs/installation/docker.ru.md | 4 ++-- mon/package.json | 2 +- node-binding/package.json | 2 +- patches/cinder-vitastor.py | 2 +- rpm/vitastor-el10.spec | 4 ++-- rpm/vitastor-el7.spec | 4 ++-- rpm/vitastor-el8.spec | 4 ++-- rpm/vitastor-el9.spec | 4 ++-- src/CMakeLists.txt | 2 +- src/client/vitastor.pc.in | 2 +- 19 files changed, 25 insertions(+), 25 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e39cc878..a3ef1100 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ cmake_minimum_required(VERSION 2.8.12) project(vitastor) -set(VITASTOR_VERSION "3.0.3") +set(VITASTOR_VERSION "3.0.4") include(CTest) diff --git a/csi/Makefile b/csi/Makefile index a75ea555..a8da9f05 100644 --- a/csi/Makefile +++ b/csi/Makefile @@ -1,4 +1,4 @@ -VITASTOR_VERSION ?= v3.0.3 +VITASTOR_VERSION ?= v3.0.4 all: build push diff --git a/csi/deploy/004-csi-nodeplugin.yaml b/csi/deploy/004-csi-nodeplugin.yaml index 4a5eca1a..50927484 100644 --- a/csi/deploy/004-csi-nodeplugin.yaml +++ b/csi/deploy/004-csi-nodeplugin.yaml @@ -49,7 +49,7 @@ spec: capabilities: add: ["SYS_ADMIN"] allowPrivilegeEscalation: true - image: vitalif/vitastor-csi:v3.0.3 + image: vitalif/vitastor-csi:v3.0.4 args: - "--node=$(NODE_ID)" - "--endpoint=$(CSI_ENDPOINT)" diff --git a/csi/deploy/007-csi-provisioner.yaml b/csi/deploy/007-csi-provisioner.yaml index 64b60d83..1502d57d 100644 --- a/csi/deploy/007-csi-provisioner.yaml +++ b/csi/deploy/007-csi-provisioner.yaml @@ -121,7 +121,7 @@ spec: privileged: true capabilities: add: ["SYS_ADMIN"] - image: vitalif/vitastor-csi:v3.0.3 + image: vitalif/vitastor-csi:v3.0.4 args: - "--node=$(NODE_ID)" - "--endpoint=$(CSI_ENDPOINT)" diff --git a/csi/src/config.go b/csi/src/config.go index 0f814156..d12ca9da 100644 --- a/csi/src/config.go +++ b/csi/src/config.go @@ -5,7 +5,7 @@ package vitastor const ( vitastorCSIDriverName = "csi.vitastor.io" - vitastorCSIDriverVersion = "3.0.3" + vitastorCSIDriverVersion = "3.0.4" ) // Config struct fills the parameters of request or user input diff --git a/debian/changelog b/debian/changelog index d556a631..b726d39c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vitastor (3.0.3-1) unstable; urgency=medium +vitastor (3.0.4-1) unstable; urgency=medium * Bugfixes diff --git a/docker/Makefile b/docker/Makefile index 8d15073f..0a75e9a8 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,4 +1,4 @@ -VITASTOR_VERSION ?= v3.0.3 +VITASTOR_VERSION ?= v3.0.4 all: build push diff --git a/docker/etc/vitastor/docker.conf b/docker/etc/vitastor/docker.conf index 3e1c1935..c7cd908a 100644 --- a/docker/etc/vitastor/docker.conf +++ b/docker/etc/vitastor/docker.conf @@ -4,7 +4,7 @@ # # Desired Vitastor version -VITASTOR_VERSION=v3.0.3 +VITASTOR_VERSION=v3.0.4 # Additional arguments for all containers # For example, you may want to specify a custom logging driver here diff --git a/docs/installation/docker.en.md b/docs/installation/docker.en.md index 50e52f62..fa4d3009 100644 --- a/docs/installation/docker.en.md +++ b/docs/installation/docker.en.md @@ -26,9 +26,9 @@ at Vitastor Kubernetes operator: https://github.com/Antilles7227/vitastor-operat The instruction is very simple. 1. Download a Docker image of the desired version: \ - `docker pull vitalif/vitastor:v3.0.3` + `docker pull vitalif/vitastor:v3.0.4` 2. Install scripts to the host system: \ - `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.3 install.sh` + `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.4 install.sh` 3. Reload udev rules: \ `udevadm control --reload-rules` diff --git a/docs/installation/docker.ru.md b/docs/installation/docker.ru.md index c7b482a6..ef826918 100644 --- a/docs/installation/docker.ru.md +++ b/docs/installation/docker.ru.md @@ -25,9 +25,9 @@ Vitastor можно установить в Docker/Podman. При этом etcd, Инструкция по установке максимально простая. 1. Скачайте Docker-образ желаемой версии: \ - `docker pull vitalif/vitastor:v3.0.3` + `docker pull vitalif/vitastor:v3.0.4` 2. Установите скрипты в хост-систему командой: \ - `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.3 install.sh` + `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v3.0.4 install.sh` 3. Перезагрузите правила udev: \ `udevadm control --reload-rules` diff --git a/mon/package.json b/mon/package.json index 255feac3..8fb995fe 100644 --- a/mon/package.json +++ b/mon/package.json @@ -1,6 +1,6 @@ { "name": "vitastor-mon", - "version": "3.0.3", + "version": "3.0.4", "description": "Vitastor SDS monitor service", "main": "mon-main.js", "scripts": { diff --git a/node-binding/package.json b/node-binding/package.json index dfc72ced..b10fcb32 100644 --- a/node-binding/package.json +++ b/node-binding/package.json @@ -1,6 +1,6 @@ { "name": "vitastor", - "version": "3.0.3", + "version": "3.0.4", "description": "Low-level native bindings to Vitastor client library", "main": "index.js", "keywords": [ diff --git a/patches/cinder-vitastor.py b/patches/cinder-vitastor.py index 0316f126..eadfb196 100644 --- a/patches/cinder-vitastor.py +++ b/patches/cinder-vitastor.py @@ -50,7 +50,7 @@ from cinder.volume import configuration from cinder.volume import driver from cinder.volume import volume_utils -VITASTOR_VERSION = '3.0.3' +VITASTOR_VERSION = '3.0.4' LOG = logging.getLogger(__name__) diff --git a/rpm/vitastor-el10.spec b/rpm/vitastor-el10.spec index 2c24a336..0417dfc0 100644 --- a/rpm/vitastor-el10.spec +++ b/rpm/vitastor-el10.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 3.0.3 +Version: 3.0.4 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-3.0.3.el10.tar.gz +Source0: vitastor-3.0.4.el10.tar.gz BuildRequires: gperftools-devel BuildRequires: gcc-c++ diff --git a/rpm/vitastor-el7.spec b/rpm/vitastor-el7.spec index a21eee8f..35bf7534 100644 --- a/rpm/vitastor-el7.spec +++ b/rpm/vitastor-el7.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 3.0.3 +Version: 3.0.4 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-3.0.3.el7.tar.gz +Source0: vitastor-3.0.4.el7.tar.gz BuildRequires: gperftools-devel BuildRequires: devtoolset-9-gcc-c++ diff --git a/rpm/vitastor-el8.spec b/rpm/vitastor-el8.spec index 1ca67f17..159685b8 100644 --- a/rpm/vitastor-el8.spec +++ b/rpm/vitastor-el8.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 3.0.3 +Version: 3.0.4 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-3.0.3.el8.tar.gz +Source0: vitastor-3.0.4.el8.tar.gz BuildRequires: gperftools-devel BuildRequires: gcc-toolset-9-gcc-c++ diff --git a/rpm/vitastor-el9.spec b/rpm/vitastor-el9.spec index bb100a75..e3b51d43 100644 --- a/rpm/vitastor-el9.spec +++ b/rpm/vitastor-el9.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 3.0.3 +Version: 3.0.4 Release: 1%{?dist} Summary: Vitastor, a fast software-defined clustered block storage License: Vitastor Network Public License 1.1 URL: https://vitastor.io/ -Source0: vitastor-3.0.3.el9.tar.gz +Source0: vitastor-3.0.4.el9.tar.gz BuildRequires: gperftools-devel BuildRequires: gcc-c++ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b0dcb8f7..4e0d48c3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -21,7 +21,7 @@ if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$") endif() set(ENABLE_COVERAGE false CACHE BOOL "Enable code coverage") -add_definitions(-DVITASTOR_VERSION="3.0.3") +add_definitions(-DVITASTOR_VERSION="3.0.4") add_definitions(-D_GNU_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Wall -Wno-sign-compare -Wno-comment -Wno-parentheses -Wno-pointer-arith -fdiagnostics-color=always -fno-omit-frame-pointer -fvisibility=hidden -I ${CMAKE_SOURCE_DIR}/src) add_link_options(-fno-omit-frame-pointer) if (${WITH_ASAN}) diff --git a/src/client/vitastor.pc.in b/src/client/vitastor.pc.in index 374a2d34..8f114e19 100644 --- a/src/client/vitastor.pc.in +++ b/src/client/vitastor.pc.in @@ -6,7 +6,7 @@ includedir=${prefix}/@CMAKE_INSTALL_INCLUDEDIR@ Name: Vitastor Description: Vitastor client library -Version: 3.0.3 +Version: 3.0.4 Libs: -L${libdir} -lvitastor_client Cflags: -I${includedir}