about summary refs log tree commit diff
path: root/src/libstore/build.cc
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-23T16·08-0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-07-23T21·14-0400
commit564fb7d9fa80d06397a88d69f26439727cb922c5 (patch)
treeb6944bacbc3f4d8cbac9d886686572aa6fdbbe8c /src/libstore/build.cc
parented59bf7a181bb382dea7dd72da52bf91f60deb8d (diff)
optimiseStore(): Use a content-addressed file store in /nix/store/.links
optimiseStore() now creates persistent, content-addressed hard links
in /nix/store/.links.  For instance, if it encounters a file P with
hash H, it will create a hard link

  P' = /nix/store/.link/<H>

to P if P' doesn't already exist; if P' exist, then P is replaced by a
hard link to P'.  This is better than the previous in-memory map,
because it had the tendency to unnecessarily replace hard links with a
hard link to whatever happened to be the first file with a given hash
it encountered.  It also allows on-the-fly, incremental optimisation.
Diffstat (limited to 'src/libstore/build.cc')
0 files changed, 0 insertions, 0 deletions