summaryrefslogtreecommitdiff
path: root/gnu/system
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2016-04-17 18:26:50 +0200
committerLudovic Courtès <ludo@gnu.org>2016-04-18 01:24:06 +0200
commit4da8c19e8337cbb908d5e77cd912791846070fb7 (patch)
tree81786e610cba74823f345707a6c48ddfb719fa83 /gnu/system
parent1ea507bce294d12223c35c3f8c2ae3e54a4127fd (diff)
mapped-devices: 'mapped-device-service' takes a <mapped-device>.
* gnu/system/mapped-devices.scm (device-mapping-service): Take a <mapped-device> instead of 3 parameters. (device-mapping-service-type): Adjust accordingly. * gnu/system.scm (device-mapping-services): Adjust accordingly.
Diffstat (limited to 'gnu/system')
-rw-r--r--gnu/system/mapped-devices.scm16
1 files changed, 7 insertions, 9 deletions
diff --git a/gnu/system/mapped-devices.scm b/gnu/system/mapped-devices.scm
index be2d6a4749d..2706e255c53 100644
--- a/gnu/system/mapped-devices.scm
+++ b/gnu/system/mapped-devices.scm
@@ -69,21 +69,19 @@
69 (shepherd-service-type 69 (shepherd-service-type
70 'device-mapping 70 'device-mapping
71 (match-lambda 71 (match-lambda
72 ((target open close) 72 (($ <mapped-device> source target
73 ($ <mapped-device-type> open close))
73 (shepherd-service 74 (shepherd-service
74 (provision (list (symbol-append 'device-mapping- (string->symbol target)))) 75 (provision (list (symbol-append 'device-mapping- (string->symbol target))))
75 (requirement '(udev)) 76 (requirement '(udev))
76 (documentation "Map a device node using Linux's device mapper.") 77 (documentation "Map a device node using Linux's device mapper.")
77 (start #~(lambda () #$open)) 78 (start #~(lambda () #$(open source target)))
78 (stop #~(lambda _ (not #$close))) 79 (stop #~(lambda _ (not #$(close source target))))
79 (respawn? #f)))))) 80 (respawn? #f))))))
80 81
81(define (device-mapping-service target open close) 82(define (device-mapping-service mapped-device)
82 "Return a service that maps device @var{target}, a string such as 83 "Return a service that sets up @var{mapped-device}."
83@code{\"home\"} (meaning @code{/dev/mapper/home}). Evaluate @var{open}, a 84 (service device-mapping-service-type mapped-device))
84gexp, to open it, and evaluate @var{close} to close it."
85 (service device-mapping-service-type
86 (list target open close)))
87 85
88 86
89;;; 87;;;