diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-08-31 11:47:31 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2010-08-31 11:47:31 +0000 |
commit | e2e168f7c27f5239badf6e8705264bd907d6b82c (patch) | |
tree | 1fed2f2ee9c0476b5e0171a8ff5a8086a6205105 /src/libstore/gc.cc | |
parent | 80e722278ca03bf303961e2f27487dc98d042803 (diff) |
`nix-store --verify' improvements:
* If a path has disappeared, check its referrers first, and don't try
to invalidate paths that have valid referrers. Otherwise we get a
foreign key constraint violation.
* Read the whole Nix store directory instead of statting each valid
path, which is slower.
* Acquire the global GC lock.
Diffstat (limited to 'src/libstore/gc.cc')
-rw-r--r-- | src/libstore/gc.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc index ea784bcd9..7d58cd50a 100644 --- a/src/libstore/gc.cc +++ b/src/libstore/gc.cc @@ -1,6 +1,5 @@ #include "globals.hh" #include "misc.hh" -#include "pathlocks.hh" #include "local-store.hh" #include <boost/shared_ptr.hpp> @@ -31,7 +30,7 @@ static const int defaultGcLevel = 1000; read. To be precise: when they try to create a new temporary root file, they will block until the garbage collector has finished / yielded the GC lock. */ -static int openGCLock(LockType lockType) +int LocalStore::openGCLock(LockType lockType) { Path fnGCLock = (format("%1%/%2%") % nixStateDir % gcLockName).str(); |