From ab3893d713764e64ce9e5f69e991405acf66c1a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 31 Aug 2014 14:29:09 +0200 Subject: [PATCH] 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. --- doc/guix.texi | 12 +++++++----- nix/nix-daemon/guix-daemon.cc | 12 +++++++++--- 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: