summary refs log tree commit diff
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.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: