aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-08-31 14:29:09 +0200
committerLudovic Courtès <ludo@gnu.org>2014-08-31 14:44:40 +0200
commitab3893d713764e64ce9e5f69e991405acf66c1a5 (patch)
treef389a349512582a37de5f4eaed9d005ff2957f00
parent44d43c7a854effb2bc42eb9c0aea3594415fad6a (diff)
downloadguix-ab3893d713764e64ce9e5f69e991405acf66c1a5.tar
guix-ab3893d713764e64ce9e5f69e991405acf66c1a5.tar.gz
daemon: Rename '--disable-store-optimization' to '--disable-deduplication'.
* nix/nix-daemon/guix-daemon.cc (GUIX_OPT_DISABLE_STORE_OPTIMIZATION): Rename to... (GUIX_OPT_DISABLE_DEDUPLICATION): ... this. Adjust user accordingly. (options): Add "disable-deduplication". Make "disable-store-optimization" a hidden alias. * doc/guix.texi (Invoking guix-daemon): Adjust to new option name. Add index entry. Improve description.
-rw-r--r--doc/guix.texi12
-rw-r--r--nix/nix-daemon/guix-daemon.cc12
2 files changed, 16 insertions, 8 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index b6cd57acc2..e34a70f0df 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -506,14 +506,16 @@ Unless @code{--lose-logs} is used, all the build logs are kept in the
@var{localstatedir}. To save space, the daemon automatically compresses
them with bzip2 by default. This option disables that.
-@item --disable-store-optimization
+@item --disable-deduplication
+@cindex deduplication
Disable automatic file ``deduplication'' in the store.
By default, files added to the store are automatically ``deduplicated'':
-if a newly added file is identical as another one found in the store,
-the daemon makes the new file a hard link to the other file. This
-slightly increases the input/output load at the end of a build process.
-This option disables this.
+if a newly added file is identical to another one found in the store,
+the daemon makes the new file a hard link to the other file. This can
+noticeably reduce disk usage, at the expense of slightly increasde
+input/output load at the end of a build process. This option disables
+this optimization.
@item --gc-keep-outputs[=yes|no]
Tell whether the garbage collector (GC) must keep outputs of live
diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc
index 0309743de1..8c63bed0bf 100644
--- a/nix/nix-daemon/guix-daemon.cc
+++ b/nix/nix-daemon/guix-daemon.cc
@@ -62,7 +62,7 @@ builds derivations on behalf of its clients.";
#define GUIX_OPT_CACHE_FAILURES 4
#define GUIX_OPT_LOSE_LOGS 5
#define GUIX_OPT_DISABLE_LOG_COMPRESSION 6
-#define GUIX_OPT_DISABLE_STORE_OPTIMIZATION 7
+#define GUIX_OPT_DISABLE_DEDUPLICATION 7
#define GUIX_OPT_IMPERSONATE_LINUX_26 8
#define GUIX_OPT_DEBUG 9
#define GUIX_OPT_CHROOT_DIR 10
@@ -106,8 +106,14 @@ static const struct argp_option options[] =
"Do not keep build logs" },
{ "disable-log-compression", GUIX_OPT_DISABLE_LOG_COMPRESSION, 0, 0,
"Disable compression of the build logs" },
- { "disable-store-optimization", GUIX_OPT_DISABLE_STORE_OPTIMIZATION, 0, 0,
+
+ /* '--disable-deduplication' was known as '--disable-store-optimization'
+ up to Guix 0.7 included, so keep the alias around. */
+ { "disable-deduplication", GUIX_OPT_DISABLE_DEDUPLICATION, 0, 0,
"Disable automatic file \"deduplication\" in the store" },
+ { "disable-store-optimization", GUIX_OPT_DISABLE_DEDUPLICATION, 0,
+ OPTION_ALIAS | OPTION_HIDDEN, NULL },
+
{ "impersonate-linux-2.6", GUIX_OPT_IMPERSONATE_LINUX_26, 0, 0,
"Impersonate Linux 2.6"
#ifndef HAVE_SYS_PERSONALITY_H
@@ -163,7 +169,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
case GUIX_OPT_BUILD_USERS_GROUP:
settings.buildUsersGroup = arg;
break;
- case GUIX_OPT_DISABLE_STORE_OPTIMIZATION:
+ case GUIX_OPT_DISABLE_DEDUPLICATION:
settings.autoOptimiseStore = false;
break;
case GUIX_OPT_CACHE_FAILURES: