Count bytes freed deleting unused links

This commit is contained in:
Eelco Dolstra 2012-08-01 22:43:03 -04:00
parent 01d56c1eec
commit 6763084ae5
2 changed files with 5 additions and 3 deletions

View file

@ -575,7 +575,7 @@ bool LocalStore::tryToDelete(GCState & state, const Path & path)
safely deleted. FIXME: race condition with optimisePath(): we
might see a link count of 1 just before optimisePath() increases
the link count. */
void LocalStore::removeUnusedLinks()
void LocalStore::removeUnusedLinks(const GCState & state)
{
AutoCloseDir dir = opendir(linksDir.c_str());
if (!dir) throw SysError(format("opening directory `%1%'") % linksDir);
@ -604,6 +604,8 @@ void LocalStore::removeUnusedLinks()
if (unlink(path.c_str()) == -1)
throw SysError(format("deleting `%1%'") % path);
state.results.bytesFreed += st.st_blocks * 512;
}
struct stat st;
@ -732,7 +734,7 @@ void LocalStore::collectGarbage(const GCOptions & options, GCResults & results)
/* Clean up the links directory. */
printMsg(lvlError, format("deleting unused links..."));
removeUnusedLinks();
removeUnusedLinks(state);
}

View file

@ -264,7 +264,7 @@ private:
int openGCLock(LockType lockType);
void removeUnusedLinks();
void removeUnusedLinks(const GCState & state);
void startSubstituter(const Path & substituter,
RunningSubstituter & runningSubstituter);