nix-collect-garbage: Revive --max-freed

Fixes #609.
This commit is contained in:
Eelco Dolstra 2015-08-21 13:57:53 +02:00
parent 1d29db2a9f
commit eadb86f447
3 changed files with 11 additions and 18 deletions

View file

@ -2,20 +2,10 @@
#include "globals.hh"
#include "util.hh"
#include <climits>
namespace nix {
GCOptions::GCOptions()
{
action = gcDeleteDead;
ignoreLiveness = false;
maxFreed = ULLONG_MAX;
}
bool isInStore(const Path & path)
{
return isInDir(path, settings.nixStore);

View file

@ -4,6 +4,7 @@
#include "serialise.hh"
#include <string>
#include <limits>
#include <map>
#include <memory>
@ -36,21 +37,19 @@ struct GCOptions
gcDeleteSpecific,
} GCAction;
GCAction action;
GCAction action{gcDeleteDead};
/* If `ignoreLiveness' is set, then reachability from the roots is
ignored (dangerous!). However, the paths must still be
unreferenced *within* the store (i.e., there can be no other
store paths that depend on them). */
bool ignoreLiveness;
bool ignoreLiveness{false};
/* For `gcDeleteSpecific', the paths to delete. */
PathSet pathsToDelete;
/* Stop after at least `maxFreed' bytes have been freed. */
unsigned long long maxFreed;
GCOptions();
unsigned long long maxFreed{std::numeric_limits<unsigned long long>::max()};
};