Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix conflict over unlocked refcount DB
If BackupStoreCheck is are read-only, then it should not open a "temporary" database in the old sense, because that does actually change the store: the temporary file would conflict with any other process which wants to do the same thing at the same time (e.g. housekeeping), and if neither process locks the store, they will break each other. Instead, we now distinguish between "potential" refcount DBs (of which there can only be one at a time, and which require a lock to create) and really "temporary" ones which are created in a temporary directory, can never become permanent via Commit(), do not require a lock, and are unlimited in number. Commit() will rename them, but still in the temporary directory, so it has no effect on the store. This requires some changes to the BackupStoreRefCountDatabase::Create interface to add new flags.
- Loading branch information
Showing
4 changed files
with
149 additions
and
66 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
This file contains 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
This file contains 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