Fix stale volumes/devices in bareos-sd after failure to acquire a read device on MAC jobs#1106
Merged
pstorz merged 4 commits intobareos:masterfrom Mar 10, 2022
Conversation
2aec7c5 to
e0e9495
Compare
In DoActualMigration() function jcr->db_batch->WriteBatchFileRecords() was called without checking if jcr->db_batch was valid. While the function itself took precautions to work correctly in that scenario, it is still undefined behaviour. This patch adds the proper check.
This patch splits copy-bscan into individual subtests and adds a new test "impossible-copy". That test will ensure the copy fails when changing the read-device to expose a bug in the SD and check for the presence of that bug.
Previously releasing the write-device may not happen on specific failures. This patch makes sure the write-device is always released when appropriate.
e0e9495 to
b0f0413
Compare
This was referenced Mar 10, 2022
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
When a job fails due to the SD failing to switch its read-device to match the required media type (which can happen if the medium is not accessible by the SD), the device that was reserved / acquired for writing was not released.
This PR adds a test for that behaviour and fixes the problem.
Thank you for contributing to the Bareos Project!
Please check
If you have any questions or problems, please give a comment in the PR.
Helpful documentation and best practices
Checklist for the reviewer of the PR (will be processed by the Bareos team)
General