1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-07-07 01:51:47 +02:00

Don't rely on st_blocks

It doesn't seem very reliable on ZFS.
This commit is contained in:
Eelco Dolstra 2019-08-29 14:49:58 +02:00
parent 31f5ecfaa5
commit a2c4fcd5e9
3 changed files with 6 additions and 7 deletions

View file

@ -690,9 +690,8 @@ void LocalStore::removeUnusedLinks(const GCState & state)
throw SysError(format("statting '%1%'") % path);
if (st.st_nlink != 1) {
unsigned long long size = st.st_blocks * 512ULL;
actualSize += size;
unsharedSize += (st.st_nlink - 1) * size;
actualSize += st.st_size;
unsharedSize += (st.st_nlink - 1) * st.st_size;
continue;
}
@ -701,7 +700,7 @@ void LocalStore::removeUnusedLinks(const GCState & state)
if (unlink(path.c_str()) == -1)
throw SysError(format("deleting '%1%'") % path);
state.results.bytesFreed += st.st_blocks * 512ULL;
state.results.bytesFreed += st.st_size;
}
struct stat st;