summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-10-27 11:20:26 +0200
committerLudovic Courtès <ludo@gnu.org>2016-10-27 13:48:52 +0200
commit4ed2f515d69a199154c272997f4683b89ac0a9b8 (patch)
tree71c5ae516fa37039ef38d83d1ff67ae2e3ba3f68
parent631fda7e90c5327cb365b785b221f37a899e8bce (diff)
downloadguix-4ed2f515d69a199154c272997f4683b89ac0a9b8.tar.gz
mapped-devices: Use 'mdadm-static' in 'raid-device-mapping'.
* gnu/system/mapped-devices.scm (open-raid-device, close-raid-device):
Use MDADM-STATIC instead of MDADM.  Use 'file-append'.
-rw-r--r--gnu/system/mapped-devices.scm8
1 files changed, 5 insertions, 3 deletions
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index 2487638c52..e44f2693a7 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -24,7 +24,7 @@
   #:use-module (gnu services)
   #:use-module (gnu services shepherd)
   #:autoload   (gnu packages cryptsetup) (cryptsetup)
-  #:autoload   (gnu packages linux) (mdadm)
+  #:autoload   (gnu packages linux) (mdadm-static)
   #:use-module (srfi srfi-1)
   #:use-module (ice-9 match)
   #:export (mapped-device
@@ -150,12 +150,14 @@ TARGET (e.g., \"/dev/md0\"), using 'mdadm'."
           (sleep 1)
           (loop (+ 1 attempts))))
 
-      (zero? (apply system* (string-append #$mdadm "/sbin/mdadm")
+      ;; Use 'mdadm-static' rather than 'mdadm' to avoid pulling its whole
+      ;; closure (80 MiB) in the initrd when a RAID device is needed for boot.
+      (zero? (apply system* #$(file-append mdadm-static "/sbin/mdadm")
                     "--assemble" #$target sources))))
 
 (define (close-raid-device sources target)
   "Return a gexp that stops the RAID device TARGET."
-  #~(zero? (system* (string-append #$mdadm "/sbin/mdadm")
+  #~(zero? (system* #$(file-append mdadm-static "/sbin/mdadm")
                     "--stop" #$target)))
 
 (define raid-device-mapping