New features: - Implement "hierarchical failure domains" and other complex distribution rules, for example EC 4+2 over 3 DC, with 2 chunks per each DC ([documentation](docs/config/pool.en.md#level_placement)) - Make OSDs handle ENOSPC - now cluster stays online even if some OSDs fill up to 100 %, only writes requiring free space hang - Implement Stage/Unstage & volume locking for CSI to prevent parallel mounting and/or modifications of the same volume - Warn about full and almost full OSDs in vitastor-cli status - Add an experimental NBD netlink map mode as an option ([documentation](docs/usage/nbd.en.md)) - Add --pg parameter to vitastor-cli describe, print objects with 0x in human-readable format too - Add [administration docs](docs/usage/admin.en.md) Bug fixes: - Fix client operation retry timeout - previously the timeout wasn't applied and writes were retries almost instantly - Fix monitors crashing on invalid pool configurations - Fix journaling - make each journal write wait for all previous journal writes - Fix monitor thinking that OSD weight is 0 after deleting /osd/config/ key online - Fix a write stall caused by flusher possibly not trimming journal on rollback - Set 32k csum_block_size for HDD by default in vitastor-disk
28 lines
918 B
Bash
Executable File
28 lines
918 B
Bash
Executable File
#!/bin/bash
|
|
# Vitastor depends on QEMU and/or FIO headers, but QEMU and FIO don't have -devel packages
|
|
# So we have to copy their headers into the source tarball
|
|
|
|
set -e
|
|
|
|
VITASTOR=$(dirname $0)
|
|
VITASTOR=$(realpath "$VITASTOR/..")
|
|
|
|
EL=$(rpm --eval '%dist')
|
|
if [ "$EL" = ".el8" ]; then
|
|
# CentOS 8
|
|
. /opt/rh/gcc-toolset-9/enable
|
|
elif [ "$EL" = ".el7" ]; then
|
|
# CentOS 7
|
|
. /opt/rh/devtoolset-9/enable
|
|
fi
|
|
cd ~/rpmbuild/SPECS
|
|
rpmbuild -bp fio.spec
|
|
cd $VITASTOR
|
|
ln -s ~/rpmbuild/BUILD/fio*/ fio
|
|
sh copy-fio-includes.sh
|
|
rm fio
|
|
mv fio-copy fio
|
|
FIO=`rpm -qi fio | 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
|
|
tar --transform 's#^#vitastor-1.6.0/#' --exclude 'rpm/*.rpm' -czf $VITASTOR/../vitastor-1.6.0$(rpm --eval '%dist').tar.gz *
|