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

View File

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