Browse Source

daemon: Fix the displayed GC estimated progress.

* nix/libstore/gc.cc (LocalStore::deletePathRecursive): Fix computation
of 'fraction'.  Take 'bytesInvalidated' into account.
gn-latest-20200428
Ludovic Courtès 2 years ago
parent
commit
be0fb348b8
No known key found for this signature in database GPG Key ID: 90B11993D9AEBB5
  1. 9
      nix/libstore/gc.cc

9
nix/libstore/gc.cc

@ -426,13 +426,14 @@ void LocalStore::deletePathRecursive(GCState & state, const Path & path)
}
if (state.options.maxFreed != ULLONG_MAX) {
double fraction = state.results.bytesFreed + size
/ state.options.maxFreed;
auto freed = state.results.bytesFreed + state.bytesInvalidated;
double fraction = ((double) freed) / (double) state.options.maxFreed;
unsigned int percentage = (fraction > 1. ? 1. : fraction) * 100.;
printMsg(lvlInfo, format("[%1%%%] deleting '%2%'") % percentage % path);
} else {
size_t total = (state.results.bytesFreed + size) / (1024 * 1024);
printMsg(lvlInfo, format("[%1% MiB] deleting '%2%'") % total % path);
auto freed = state.results.bytesFreed + state.bytesInvalidated;
freed /= 1024ULL * 1024ULL;
printMsg(lvlInfo, format("[%1% MiB] deleting '%2%'") % freed % path);
}
state.results.paths.insert(path);

Loading…
Cancel
Save