aboutsummaryrefslogtreecommitdiff
path: root/src/libstore/local-store.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/libstore/local-store.cc')
-rw-r--r--src/libstore/local-store.cc27
1 files changed, 15 insertions, 12 deletions
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc
index 9049f33aa..17e2ebc38 100644
--- a/src/libstore/local-store.cc
+++ b/src/libstore/local-store.cc
@@ -1499,21 +1499,24 @@ bool LocalStore::verifyStore(bool checkContents, RepairFlag repair)
auto fdGCLock = openGCLock();
FdLock gcLock(fdGCLock.get(), ltRead, true, "waiting for the big garbage collector lock...");
- StorePathSet store;
- for (auto & i : readDirectory(realStoreDir)) {
- try {
- store.insert({i.name});
- } catch (BadStorePath &) { }
- }
+ StorePathSet validPaths;
- /* Check whether all valid paths actually exist. */
- printInfo("checking path existence...");
+ {
+ StorePathSet store;
+ for (auto & i : readDirectory(realStoreDir)) {
+ try {
+ store.insert({i.name});
+ } catch (BadStorePath &) { }
+ }
- StorePathSet validPaths;
- StorePathSet done;
+ /* Check whether all valid paths actually exist. */
+ printInfo("checking path existence...");
- for (auto & i : queryAllValidPaths())
- verifyPath(i, store, done, validPaths, repair, errors);
+ StorePathSet done;
+
+ for (auto & i : queryAllValidPaths())
+ verifyPath(i, store, done, validPaths, repair, errors);
+ }
/* Optionally, check the content hashes (slow). */
if (checkContents) {