From 462650134e0d3d0fb77278a709815962a40676e3 Mon Sep 17 00:00:00 2001 From: Vitaliy Filippov Date: Thu, 8 Apr 2021 00:53:43 +0300 Subject: [PATCH] Release 0.5.11 Another bunch of fixes, including important ones. Now OSDs are stable in SSD+HDD configurations and everything is mostly ready for the merge of master branch. Features: - Add min_flusher_count configuration (good for HDDs) - Shuffle PGs for better data device utilisation - Make OSDs benefit from the immediate_commit=small setting if it's applicable Bug fixes: - Rework client code to fix write ordering during operation replay - Rework error handling code so OSDs don't crash in reaction to a crash of their peer OSDs - Fix several block layer problems related to the journal, some of which were leading to double allocations of the same block during journal replay - Fix monitors crashing during the removal of OSD keys from etcd - Fix data fsyncs being incorrectly disabled when only disable_journal_fsync was set - Always zero out unused part of request/reply headers - Fix some theoretically possible read/write ordering issues - Don't try to "recover" misplaced objects if it would make them degraded - Fix heartbeats sometimes preventing OSD to establish connections --- debian/changelog | 2 +- debian/vitastor.Dockerfile | 12 ++++++------ rpm/build-tarball.sh | 2 +- rpm/vitastor-el7.Dockerfile | 2 +- rpm/vitastor-el7.spec | 4 ++-- rpm/vitastor-el8.Dockerfile | 2 +- rpm/vitastor-el8.spec | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/debian/changelog b/debian/changelog index 788390886..de5b2b77e 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -vitastor (0.5.10-1) unstable; urgency=medium +vitastor (0.5.11-1) unstable; urgency=medium * Bugfixes diff --git a/debian/vitastor.Dockerfile b/debian/vitastor.Dockerfile index 98714fdd3..5702bb698 100644 --- a/debian/vitastor.Dockerfile +++ b/debian/vitastor.Dockerfile @@ -40,10 +40,10 @@ RUN set -e -x; \ mkdir -p /root/packages/vitastor-$REL; \ rm -rf /root/packages/vitastor-$REL/*; \ cd /root/packages/vitastor-$REL; \ - cp -r /root/vitastor vitastor-0.5.10; \ - ln -s /root/packages/qemu-$REL/qemu-*/ vitastor-0.5.10/qemu; \ - ln -s /root/fio-build/fio-*/ vitastor-0.5.10/fio; \ - cd vitastor-0.5.10; \ + cp -r /root/vitastor vitastor-0.5.11; \ + ln -s /root/packages/qemu-$REL/qemu-*/ vitastor-0.5.11/qemu; \ + ln -s /root/fio-build/fio-*/ vitastor-0.5.11/fio; \ + cd vitastor-0.5.11; \ FIO=$(head -n1 fio/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \ QEMU=$(head -n1 qemu/debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \ sh copy-qemu-includes.sh; \ @@ -59,8 +59,8 @@ RUN set -e -x; \ echo "dep:fio=$FIO" > debian/substvars; \ echo "dep:qemu=$QEMU" >> debian/substvars; \ cd /root/packages/vitastor-$REL; \ - tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_0.5.10.orig.tar.xz vitastor-0.5.10; \ - cd vitastor-0.5.10; \ + tar --sort=name --mtime='2020-01-01' --owner=0 --group=0 --exclude=debian -cJf vitastor_0.5.11.orig.tar.xz vitastor-0.5.11; \ + cd vitastor-0.5.11; \ V=$(head -n1 debian/changelog | perl -pe 's/^.*\((.*?)\).*$/$1/'); \ DEBFULLNAME="Vitaliy Filippov " dch -D $REL -v "$V""$REL" "Rebuild for $REL"; \ DEB_BUILD_OPTIONS=nocheck dpkg-buildpackage --jobs=auto -sa; \ diff --git a/rpm/build-tarball.sh b/rpm/build-tarball.sh index 8026460e5..41c577120 100755 --- a/rpm/build-tarball.sh +++ b/rpm/build-tarball.sh @@ -48,4 +48,4 @@ FIO=`rpm -qi fio | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Ve QEMU=`rpm -qi qemu qemu-kvm | perl -e 'while(<>) { /^Epoch[\s:]+(\S+)/ && print "$1:"; /^Version[\s:]+(\S+)/ && print $1; /^Release[\s:]+(\S+)/ && print "-$1"; }'` perl -i -pe 's/(Requires:\s*fio)([^\n]+)?/$1 = '$FIO'/' $VITASTOR/rpm/vitastor-el$EL.spec perl -i -pe 's/(Requires:\s*qemu(?:-kvm)?)([^\n]+)?/$1 = '$QEMU'/' $VITASTOR/rpm/vitastor-el$EL.spec -tar --transform 's#^#vitastor-0.5.10/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.5.10$(rpm --eval '%dist').tar.gz * +tar --transform 's#^#vitastor-0.5.11/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-0.5.11$(rpm --eval '%dist').tar.gz * diff --git a/rpm/vitastor-el7.Dockerfile b/rpm/vitastor-el7.Dockerfile index 17bcef10c..6cfbcf48d 100644 --- a/rpm/vitastor-el7.Dockerfile +++ b/rpm/vitastor-el7.Dockerfile @@ -37,7 +37,7 @@ ADD . /root/vitastor RUN set -e; \ cd /root/vitastor/rpm; \ sh build-tarball.sh; \ - cp /root/vitastor-0.5.10.el7.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-0.5.11.el7.tar.gz ~/rpmbuild/SOURCES; \ cp vitastor-el7.spec ~/rpmbuild/SPECS/vitastor.spec; \ cd ~/rpmbuild/SPECS/; \ rpmbuild -ba vitastor.spec; \ diff --git a/rpm/vitastor-el7.spec b/rpm/vitastor-el7.spec index 05a223b54..68ac544f3 100644 --- a/rpm/vitastor-el7.spec +++ b/rpm/vitastor-el7.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 0.5.10 +Version: 0.5.11 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-0.5.10.el7.tar.gz +Source0: vitastor-0.5.11.el7.tar.gz BuildRequires: liburing-devel >= 0.6 BuildRequires: gperftools-devel diff --git a/rpm/vitastor-el8.Dockerfile b/rpm/vitastor-el8.Dockerfile index eebf38b9e..9334999e0 100644 --- a/rpm/vitastor-el8.Dockerfile +++ b/rpm/vitastor-el8.Dockerfile @@ -35,7 +35,7 @@ ADD . /root/vitastor RUN set -e; \ cd /root/vitastor/rpm; \ sh build-tarball.sh; \ - cp /root/vitastor-0.5.10.el8.tar.gz ~/rpmbuild/SOURCES; \ + cp /root/vitastor-0.5.11.el8.tar.gz ~/rpmbuild/SOURCES; \ cp vitastor-el8.spec ~/rpmbuild/SPECS/vitastor.spec; \ cd ~/rpmbuild/SPECS/; \ rpmbuild -ba vitastor.spec; \ diff --git a/rpm/vitastor-el8.spec b/rpm/vitastor-el8.spec index e6413edf5..bc1f39b87 100644 --- a/rpm/vitastor-el8.spec +++ b/rpm/vitastor-el8.spec @@ -1,11 +1,11 @@ Name: vitastor -Version: 0.5.10 +Version: 0.5.11 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-0.5.10.el8.tar.gz +Source0: vitastor-0.5.11.el8.tar.gz BuildRequires: liburing-devel >= 0.6 BuildRequires: gperftools-devel