From e3fd0ce6969a62665a1eaedccebb6b21ced1e86f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 May 2015 09:35:52 +0200 Subject: [PATCH] store: Add 'optimize-store' RPC. * guix/store.scm (operation-id): Add 'optimize-store'. (optimize-store): New procedure. --- guix/store.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) 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