From 4c11e3ad3d09ae5cb6bcef4e603d8cc140ce0949 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Mon, 1 Dec 2025 02:22:27 +0300 Subject: [PATCH] Release 2.4.4 - Implement `vitastor-kv rescue` command which dumps all readable blocks from the database regardless of the tree structure and allows to recover a corrupted database. - Simplify primary OSD selection - use just PG number instead of the hash. This allows to distribute primary OSDs more evenly and reach better read speeds. - Fix vitastor-kv-stress hang on parallel list & reopen. - Fix CAS writes without immediate_commit. Fix is sufficient for vitastor-kv to operate correctly in non-immediate_commit pools. - Fix NFS ACCESS calls for broken inodes (allow root access to them). - Fix broken vitastor-kv-stress --runtime parameter. - Fix bad vitastor-kv dump output buffering leading to incorrect JSON in dumps. - Fix writing garbage from uninitialized memory to the empty space in VitastorKV DB. - Refactor some code in preparation to the release of the new log-structured metadata store. - Replace assert(done != expected) error message, probably caused by kernel issues with zero-copy TCP send, with a more concise error description. --- 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-el7.spec | 4 ++-- rpm/vitastor-el8.spec | 4 ++-- rpm/vitastor-el9.spec | 4 ++-- src/CMakeLists.txt | 2 +- src/client/vitastor.pc.in | 2 +- 18 files changed, 23 insertions(+), 23 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 68821188..19f67698 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,6 @@ cmake_minimum_required(VERSION 2.8.12) project(vitastor) -set(VITASTOR_VERSION "2.4.3") +set(VITASTOR_VERSION "2.4.4") add_subdirectory(src) diff --git a/csi/Makefile b/csi/Makefile index 021cbfa8..bc471f9a 100644 --- a/csi/Makefile +++ b/csi/Makefile @@ -1,4 +1,4 @@ -VITASTOR_VERSION ?= v2.4.3 +VITASTOR_VERSION ?= v2.4.4 all: build push diff --git a/csi/deploy/004-csi-nodeplugin.yaml b/csi/deploy/004-csi-nodeplugin.yaml index 9246f78b..7f08065a 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:v2.4.3 + image: vitalif/vitastor-csi:v2.4.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 525b4394..9e1b3f74 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:v2.4.3 + image: vitalif/vitastor-csi:v2.4.4 args: - "--node=$(NODE_ID)" - "--endpoint=$(CSI_ENDPOINT)" diff --git a/csi/src/config.go b/csi/src/config.go index 052681d8..fcc31439 100644 --- a/csi/src/config.go +++ b/csi/src/config.go @@ -5,7 +5,7 @@ package vitastor const ( vitastorCSIDriverName = "csi.vitastor.io" - vitastorCSIDriverVersion = "2.4.3" + vitastorCSIDriverVersion = "2.4.4" ) // Config struct fills the parameters of request or user input diff --git a/debian/changelog b/debian/changelog index 9cf1a92a..f73f3af5 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vitastor (2.4.3-1) unstable; urgency=medium +vitastor (2.4.4-1) unstable; urgency=medium * Bugfixes diff --git a/docker/Makefile b/docker/Makefile index 5b0e9726..a6d3fc6e 100644 --- a/docker/Makefile +++ b/docker/Makefile @@ -1,4 +1,4 @@ -VITASTOR_VERSION ?= v2.4.3 +VITASTOR_VERSION ?= v2.4.4 all: build push diff --git a/docker/etc/vitastor/docker.conf b/docker/etc/vitastor/docker.conf index 3f9ec770..ee665ccc 100644 --- a/docker/etc/vitastor/docker.conf +++ b/docker/etc/vitastor/docker.conf @@ -4,7 +4,7 @@ # # Desired Vitastor version -VITASTOR_VERSION=v2.4.3 +VITASTOR_VERSION=v2.4.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 da189591..ed94bce9 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:v2.4.3` + `docker pull vitalif/vitastor:v2.4.4` 2. Install scripts to the host system: \ - `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v2.4.3 install.sh` + `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v2.4.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 e0495a52..9ed8eb0a 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:v2.4.3` + `docker pull vitalif/vitastor:v2.4.4` 2. Установите скрипты в хост-систему командой: \ - `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v2.4.3 install.sh` + `docker run --rm -it -v /etc:/host-etc -v /usr/bin:/host-bin vitalif/vitastor:v2.4.4 install.sh` 3. Перезагрузите правила udev: \ `udevadm control --reload-rules` diff --git a/mon/package.json b/mon/package.json index b904c164..89e4ae07 100644 --- a/mon/package.json +++ b/mon/package.json @@ -1,6 +1,6 @@ { "name": "vitastor-mon", - "version": "2.4.3", + "version": "2.4.4", "description": "Vitastor SDS monitor service", "main": "mon-main.js", "scripts": { diff --git a/node-binding/package.json b/node-binding/package.json index b02224fd..d6e4af41 100644 --- a/node-binding/package.json +++ b/node-binding/package.json @@ -1,6 +1,6 @@ { "name": "vitastor", - "version": "2.4.3", + "version": "2.4.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 3bb0a3d6..7b9bd9d7 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 = '2.4.3' +VITASTOR_VERSION = '2.4.4' LOG = logging.getLogger(__name__) diff --git a/rpm/vitastor-el7.spec b/rpm/vitastor-el7.spec index edcd41ad..9aa87adb 100644 --- a/rpm/vitastor-el7.spec +++ b/rpm/vitastor-el7.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 2.4.3 +Version: 2.4.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-2.4.3.el7.tar.gz +Source0: vitastor-2.4.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 d20a1b9f..712aee75 100644 --- a/rpm/vitastor-el8.spec +++ b/rpm/vitastor-el8.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 2.4.3 +Version: 2.4.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-2.4.3.el8.tar.gz +Source0: vitastor-2.4.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 eff00488..f9f35a76 100644 --- a/rpm/vitastor-el9.spec +++ b/rpm/vitastor-el9.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 2.4.3 +Version: 2.4.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-2.4.3.el9.tar.gz +Source0: vitastor-2.4.4.el9.tar.gz BuildRequires: gperftools-devel BuildRequires: gcc-c++ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 3642eb81..3fc35647 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -20,7 +20,7 @@ if("${CMAKE_INSTALL_PREFIX}" MATCHES "^/usr/local/?$") set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}") endif() -add_definitions(-DVITASTOR_VERSION="2.4.3") +add_definitions(-DVITASTOR_VERSION="2.4.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 34170ecc..3b62071e 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: 2.4.3 +Version: 2.4.4 Libs: -L${libdir} -lvitastor_client Cflags: -I${includedir}