Changesets: bareos
master 30170f50 2024-01-25 12:45 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
connection-pool: search from last to first This was also done this way before the rewrite |
||
mod - core/src/lib/connection_pool.cc | Diff File | ||
master ec48c873 2024-01-25 11:59 Ported: N/A Details Diff |
python-bareos: requires from 2.7 to 3.6 (RHEL7) | ||
mod - python-bareos/setup.py | Diff File | ||
master 76418693 2024-01-25 11:05 Committer: Bareos Bot Ported: N/A Details Diff |
matrix: add openssl 3 ulc also upgrade the openssl 1.1 ulc to build on ubuntu 20. |
||
mod - .matrix.yml | Diff File | ||
rm - docs/pkglists/ULC_deb_OpenSSL_1.1.i586 | Diff File | ||
add - docs/pkglists/ULC_deb_OpenSSL_3.0.x86_64 | Diff File | ||
master a51168ea 2024-01-25 07:10 Sebastian Sura Ported: N/A Details Diff |
fvec: better remap emulation We first try to extend the first mapping instead of doing the whole unmark + mark step. |
||
mod - core/src/stored/backends/dedup/fvec.h | Diff File | ||
master 1c8cb447 2024-01-25 07:10 Sebastian Sura Ported: N/A Details Diff |
fvec: add madvise after mmap We want to use huge pages if possible to reduce the number of page faults. |
||
mod - core/src/stored/backends/dedup/fvec.h | Diff File | ||
master 5436ec99 2024-01-25 07:09 Sebastian Sura Ported: N/A Details Diff |
fvec: remove fallocate It turns out that posix_fallocate can become very slow on glibc if you the filesystem does not really support it since the fallback is just writing a bunch of zeroes into the file. This is not what we want so we only use ftruncate for now. |
||
mod - core/src/stored/backends/dedup/fvec.h | Diff File | ||
master 8074342e 2024-01-24 15:13 Bareos Bot Committer: GitHub Ported: N/A Details Diff |
Merge pull request #1647 Make BareosDirPluginPrometheusExporter.py work with python3 |
||
mod - CHANGELOG.md | Diff File | ||
mod - contrib/dir-plugins/prometheus/BareosDirPluginPrometheusExporter.py | Diff File | ||
master a4eddda1 2024-01-24 15:13 Bareos Bot Ported: N/A Details Diff |
Update CHANGELOG.md | ||
mod - CHANGELOG.md | Diff File | ||
master 9b13308b 2024-01-24 11:33 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
dedup-volume: switch record file to part file This allows us to split up records into multiple parts with desirable sizes. For example a 129k record may be split into a 128k part and a 1k part so that at least the first 128k are dedupable. The record header now is not treated special anymore. Its just another (tiny) bit of data. |
||
mod - core/src/stored/backends/dedup/volume.cc | Diff File | ||
mod - core/src/stored/backends/dedup/volume.h | Diff File | ||
master 00abc10a 2024-01-23 12:16 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
dedup-volume: add versioning to volume | ||
mod - core/src/stored/backends/dedup/volume.cc | Diff File | ||
master a79789a4 2024-01-23 10:32 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
connection-pool: fix data race Some operations were improperly synchronized. For example take cleanup() for example: ``` |for (i = connections_->size() - 1; i >= 0; i--) { 1| connection = connections_->get(i); | Dmsg2(800, "checking connection %s (%d)\n", connection->name(), i); 2| if (!connection->check()) { | Dmsg2(120, "connection %s (%d) is terminated => removed\n", | connection->name(), i); | connections_->remove(i); 4| delete (connection); | } |} ``` We dont lock connections_ or connection in anyway here. This means that not only could we get a NULL returned at (1), we also have to account for the fact that at any moment connection could get deleted from under us from a different thread -- even if we are currently holding its lock. This will happen if two threads call cleanup at the same time and one is at (2) while the other one is at (4). Similarly the check() function just calls WaitDataIntr() on the socket without ensuring exclusive access (for example by locking the connection!). WaitDataIntr is not a const function so its not safe to call without ensuring exclusive access. Even though it might look like this should be safe since the function just waits, but it in fact can write to some internal data (e.g. b_errno in case of an error) which can definitely cause problems. Connection::in_use is also very misleading. While it does not suffer from the data race problem (as its an atomic value), its interpretation does: If you read false from it, you do not actually know whether some thread is using the connection (and has yet to update the bool) or if the connection is actually unused. All these problems and some more lead to the decision to rewrite this code completely. The basic idea is that the connection pool now is simply a vector of connections protected by one lock. The connections itself do not have a lock. The locks are owned by the vector. The only way to interact with the connections inside the pool is by locking the whole vector. This eliminates all the problems above. The connections itself are now also an raii type. They own the socket they hold. That means that they will take care of closing/destroying the socket once they leave the scope (similarly to a unique pointer). |
||
mod - core/src/dird/fd_cmds.cc | Diff File | ||
mod - core/src/dird/fd_cmds.h | Diff File | ||
mod - core/src/dird/job.cc | Diff File | ||
mod - core/src/dird/socket_server.cc | Diff File | ||
mod - core/src/dird/ua_status.cc | Diff File | ||
mod - core/src/lib/connection_pool.cc | Diff File | ||
mod - core/src/lib/connection_pool.h | Diff File | ||
master fba26955 2024-01-23 09:32 Bareos Bot Committer: GitHub Ported: N/A Details Diff |
Merge pull request #1671 Disable automated package-tests for SLES 12 |
||
mod - .matrix.yml | Diff File | ||
mod - CHANGELOG.md | Diff File | ||
master aac715b5 2024-01-23 09:32 Bareos Bot Ported: N/A Details Diff |
Update CHANGELOG.md | ||
mod - CHANGELOG.md | Diff File | ||
master cdbf6e2a 2024-01-22 18:24 Bareos Bot Committer: GitHub Ported: N/A Details Diff |
Merge pull request #1672 bareos-config: fix output of deploy_config |
||
mod - CHANGELOG.md | Diff File | ||
mod - core/scripts/bareos-config-lib.sh.in | Diff File | ||
master 6b6592b1 2024-01-22 18:24 Bareos Bot Ported: N/A Details Diff |
Update CHANGELOG.md | ||
mod - CHANGELOG.md | Diff File | ||
master f71af481 2024-01-22 14:33 Ported: N/A Details Diff |
bareos-config: fix output of deploy_config Replacing the initial variables have been to noisy, especially newly generated passwords have also be printed. |
||
mod - core/scripts/bareos-config-lib.sh.in | Diff File | ||
master 98647a4d 2024-01-22 13:12 Ported: N/A Details Diff |
devtools: update python dependencies (again) | ||
mod - devtools/pip-tools/Pipfile.lock | Diff File | ||
master 2a5b032e 2024-01-22 13:06 Committer: Bareos Bot Ported: N/A Details Diff |
matrix: disable automated tests for SLES 12 As SLES 12 is the only remaining system that cannot run the package-tests in a podman container due to its very old systemd version, we disable the testing here so we can finally move to plain podman for the tests. |
||
mod - .matrix.yml | Diff File | ||
master 0d9623ad 2024-01-22 12:17 Committer: Bareos Bot Ported: N/A Details Diff |
bareos_tasks.pgsql: fix example | ||
mod - contrib/fd-plugins/bareos_tasks/pgsql/README.md | Diff File | ||
master 8e12c147 2024-01-22 07:24 Bareos Bot Committer: GitHub Ported: N/A Details Diff |
Merge pull request #1665 filed: fix vss during client initiated connections |
||
mod - CHANGELOG.md | Diff File | ||
mod - core/src/dird/backup.cc | Diff File | ||
mod - core/src/filed/dir_cmd.cc | Diff File | ||
mod - core/src/lib/berrno.cc | Diff File | ||
mod - core/src/tests/berrno_test.cc | Diff File | ||
mod - core/src/win32/filed/vss_generic.cc | Diff File | ||
master 98a50b04 2024-01-22 07:23 Bareos Bot Ported: N/A Details Diff |
Update CHANGELOG.md | ||
mod - CHANGELOG.md | Diff File | ||
master ab50c76b 2024-01-19 10:26 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
dedup-volume: fix reserving instead of allocating | ||
mod - core/src/stored/backends/dedup/volume.cc | Diff File | ||
master f32749d6 2024-01-19 10:26 Sebastian Sura Ported: N/A Details Diff |
fvec: add alloc_uninit function | ||
mod - core/src/stored/backends/dedup/fvec.h | Diff File | ||
master 0fe8762f 2024-01-19 10:24 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
dedup-volume: fix CommitBlock/AbortBlock error It was previously not possible to abort once a commit was started (since the savestate was moved immediately on the CommitBlock call). This was fixed by instead waiting for the commit to finish before issueing the move. |
||
mod - core/src/stored/backends/dedup/volume.cc | Diff File | ||
mod - core/src/stored/backends/dedup/volume.h | Diff File | ||
mod - core/src/stored/backends/dedup_device.cc | Diff File | ||
master 041cc167 2024-01-19 08:31 Sebastian Sura Committer: Bareos Bot Ported: N/A Details Diff |
berrno: better error messages Now the error number is always printed and trailing whitespace is trimmed. |
||
mod - core/src/lib/berrno.cc | Diff File | ||
mod - core/src/tests/berrno_test.cc | Diff File |