summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--guix/store.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guix/store.scm b/guix/store.scm
index 10b9062db2..fc2f8d92ca 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -90,6 +90,7 @@
             references
             requisites
             referrers
+            optimize-store
             topologically-sorted
             valid-derivers
             query-derivation-outputs
@@ -171,7 +172,8 @@
   (query-substitutable-path-infos 30)
   (query-valid-paths 31)
   (query-substitutable-paths 32)
-  (query-valid-derivers 33))
+  (query-valid-derivers 33)
+  (optimize-store 34))
 
 (define-enumerate-type hash-algo
   ;; hash.hh
@@ -760,6 +762,12 @@ substitutable.  For each substitutable path, a `substitutable?' object is
 returned."
              substitutable-path-list))
 
+(define-operation (optimize-store)
+  "Optimize the store by hard-linking identical files (\"deduplication\".)
+Return #t on success."
+  ;; Note: the daemon in Guix <= 0.8.2 does not implement this RPC.
+  boolean)
+
 (define (run-gc server action to-delete min-freed)
   "Perform the garbage-collector operation ACTION, one of the
 `gc-action' values.  When ACTION is `delete-specific', the TO-DELETE is