summaryrefslogtreecommitdiff
path: root/lib/backupstore
diff options
context:
space:
mode:
authorChris Wilson <chris+github@qwirx.com>2014-02-07 23:15:53 +0000
committerChris Wilson <chris+github@qwirx.com>2014-02-07 23:15:53 +0000
commit03287b1c050a8a01c77eb0070babaaf0ece566a3 (patch)
treebb9cf0d75ed28bd25c644d066a512bb26a6d81a1 /lib/backupstore
parent58f09a365624705b25d29aa3caeefa0d97d1c9ba (diff)
Fix compile error.
Caused by removal of BackupStoreRefCountDatabase::CreateForRegeneration. It's not safe to do this in housekeeping anyway, because it might not complete the scan, leaving an incomplete database, that might persuade BackupStoreContext that it's OK to delete an object that still really has references to it. If your refcount db disappears or is damaged, you need to run a check fix.
Diffstat (limited to 'lib/backupstore')
-rw-r--r--lib/backupstore/BackupStoreContext.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/lib/backupstore/BackupStoreContext.cpp b/lib/backupstore/BackupStoreContext.cpp
index d661684a..e3de2232 100644
--- a/lib/backupstore/BackupStoreContext.cpp
+++ b/lib/backupstore/BackupStoreContext.cpp
@@ -203,12 +203,11 @@ void BackupStoreContext::LoadStoreInfo()
}
catch(BoxException &e)
{
- BOX_WARNING("Reference count database is missing or corrupted, "
- "creating a new one, expect housekeeping to find and "
- "fix problems with reference counts later.");
-
- BackupStoreRefCountDatabase::CreateForRegeneration(account);
- mapRefCount = BackupStoreRefCountDatabase::Load(account, false);
+ THROW_EXCEPTION_MESSAGE(BackupStoreException,
+ CorruptReferenceCountDatabase, "Reference count "
+ "database is missing or corrupted, cannot safely open "
+ "account. Housekeeping will fix this automatically "
+ "when it next runs.");
}
}