summaryrefslogtreecommitdiff
path: root/guix/store.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-05-19 09:35:52 +0200
committerLudovic Courtès <ludo@gnu.org>2015-05-19 16:09:58 +0200
commite3fd0ce6969a62665a1eaedccebb6b21ced1e86f (patch)
tree47b1e604c7670e1e59d4f1eb6cf6e33f55979de5 /guix/store.scm
parent368d08f74744ed5d5ef5ef747e86bddbfaa47312 (diff)
downloadguix-patches-e3fd0ce6969a62665a1eaedccebb6b21ced1e86f.tar
guix-patches-e3fd0ce6969a62665a1eaedccebb6b21ced1e86f.tar.gz
store: Add 'optimize-store' RPC.
* guix/store.scm (operation-id): Add 'optimize-store'. (optimize-store): New procedure.
Diffstat (limited to 'guix/store.scm')
-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