* Undocumented option `gc-check-reachability' to allow reachability

checking to be turned off on machines with way too many roots.
This commit is contained in:
Eelco Dolstra 2007-03-19 09:16:47 +00:00
parent eb2dd4815c
commit b2b6cf3fc8
1 changed files with 9 additions and 7 deletions

View File

@ -118,13 +118,15 @@ Path addPermRoot(const Path & _storePath, const Path & _gcRoot,
}
/* Check that the root can be found by the garbage collector. */
Roots roots = store->findRoots();
if (roots.find(gcRoot) == roots.end())
printMsg(lvlError,
format(
"warning: `%1%' is not in a directory where the garbage collector looks for roots; "
"therefore, `%2%' might be removed by the garbage collector")
% gcRoot % storePath);
if (queryBoolSetting("gc-check-reachability", true)) {
Roots roots = store->findRoots();
if (roots.find(gcRoot) == roots.end())
printMsg(lvlError,
format(
"warning: `%1%' is not in a directory where the garbage collector looks for roots; "
"therefore, `%2%' might be removed by the garbage collector")
% gcRoot % storePath);
}
/* Grab the global GC root, causing us to block while a GC is in
progress. This prevents the set of permanent roots from