- 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)
21 lines
1.0 KiB
CMake
21 lines
1.0 KiB
CMake
cmake_minimum_required(VERSION 2.8.12)
|
|
|
|
project(vitastor)
|
|
|
|
set(VITASTOR_VERSION "3.0.3")
|
|
|
|
include(CTest)
|
|
|
|
add_custom_target(build_tests)
|
|
add_custom_target(test
|
|
COMMAND
|
|
echo leak:tcmalloc > ${CMAKE_CURRENT_BINARY_DIR}/lsan-suppress.txt &&
|
|
env LSAN_OPTIONS=suppressions=${CMAKE_CURRENT_BINARY_DIR}/lsan-suppress.txt ${CMAKE_CTEST_COMMAND}
|
|
)
|
|
# make -j16 -C ../../build test_heap && ../../build/src/test/test_heap
|
|
# make -j16 -C ../../build test_heap && rm -f $(find ../../build -name '*.gcda') && ctest -V -T test -T coverage -R heap --test-dir ../../build && (cd ../../build; gcovr -f ../src --html --html-nested -o coverage/index.html; cd ../src/test)
|
|
# make -j16 -C ../../build test_blockstore && rm -f $(find ../../build -name '*.gcda') && ctest -V -T test -T coverage -R blockstore --test-dir ../../build && (cd ../../build; gcovr -f ../src --html --html-nested -o coverage/index.html; cd ../src/test)
|
|
# kcov --include-path=../../../src ../../kcov ./test_blockstore
|
|
add_dependencies(test build_tests)
|
|
add_subdirectory(src)
|