guix/nix/libstore
Eelco Dolstra a98fa2d9e2 Allow regular files as GC roots
If a root is a regular file, then its name must denote a store
path. For instance, the existence of the file

  /nix/var/nix/gcroots/per-user/eelco/hydra-roots/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7

would cause

  /nix/store/wzc3cy1wwwd6d0dgxpa77ijr1yp50s6v-libxml2-2.7.7

to be a root.

This is useful because it involves less I/O (no need for a readlink()
call) and takes up less disk space (the symlink target typically takes
up a full disk block, while directory entries are packed more
efficiently). This is particularly important for hydra.nixos.org,
which has hundreds of thousands of roots, and where reading the roots
can take 25 minutes.
2015-05-11 17:13:24 +02:00
..
build.cc Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix 2015-05-11 17:04:26 +02:00
derivations.cc Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' into nix 2015-01-04 23:01:14 +01:00
derivations.hh Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' into nix 2015-01-04 23:01:14 +01:00
gc.cc Allow regular files as GC roots 2015-05-11 17:13:24 +02:00
globals.cc Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix 2015-05-11 17:04:26 +02:00
globals.hh Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix 2015-05-11 17:04:26 +02:00
local-store.cc Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix 2015-05-11 17:04:26 +02:00
local-store.hh Merge commit '8e9140cfdef9dbd1eb61e4c75c91d452ab5e4a74' into nix 2015-05-06 23:22:04 +02:00
misc.cc Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' into nix 2015-01-04 23:01:14 +01:00
misc.hh Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
optimise-store.cc Merge commit '8d5f472f2c49c79a0d3ae2e506f4d4d76224b328' into nix 2015-01-04 23:01:14 +01:00
pathlocks.cc Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
pathlocks.hh Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
references.cc Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
references.hh Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
remote-store.cc Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix 2015-05-11 17:04:26 +02:00
remote-store.hh Merge commit 'fdee1ced43fb495d612a29e955141cdf6b9a95ba' into nix 2015-05-11 17:04:26 +02:00
schema.sql Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
store-api.cc Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
store-api.hh Keep only libstore, nix-daemon, and related stuff. 2014-12-17 22:57:04 +01:00
worker-protocol.hh Remove some dead code 2015-05-11 17:11:38 +02:00