mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-23 21:17:11 -05:00
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.
This commit is contained in:
parent
1ea507bce2
commit
4da8c19e83
2 changed files with 8 additions and 18 deletions
|
@ -233,15 +233,7 @@ (define (operating-system-boot-mapped-devices os)
|
|||
|
||||
(define (device-mapping-services os)
|
||||
"Return the list of device-mapping services for OS as a list."
|
||||
(map (lambda (md)
|
||||
(let* ((source (mapped-device-source md))
|
||||
(target (mapped-device-target md))
|
||||
(type (mapped-device-type md))
|
||||
(open (mapped-device-kind-open type))
|
||||
(close (mapped-device-kind-close type)))
|
||||
(device-mapping-service target
|
||||
(open source target)
|
||||
(close source target))))
|
||||
(map device-mapping-service
|
||||
(operating-system-user-mapped-devices os)))
|
||||
|
||||
(define (swap-services os)
|
||||
|
|
|
@ -69,21 +69,19 @@ (define device-mapping-service-type
|
|||
(shepherd-service-type
|
||||
'device-mapping
|
||||
(match-lambda
|
||||
((target open close)
|
||||
(($ <mapped-device> source target
|
||||
($ <mapped-device-type> open close))
|
||||
(shepherd-service
|
||||
(provision (list (symbol-append 'device-mapping- (string->symbol target))))
|
||||
(requirement '(udev))
|
||||
(documentation "Map a device node using Linux's device mapper.")
|
||||
(start #~(lambda () #$open))
|
||||
(stop #~(lambda _ (not #$close)))
|
||||
(start #~(lambda () #$(open source target)))
|
||||
(stop #~(lambda _ (not #$(close source target))))
|
||||
(respawn? #f))))))
|
||||
|
||||
(define (device-mapping-service target open close)
|
||||
"Return a service that maps device @var{target}, a string such as
|
||||
@code{\"home\"} (meaning @code{/dev/mapper/home}). Evaluate @var{open}, a
|
||||
gexp, to open it, and evaluate @var{close} to close it."
|
||||
(service device-mapping-service-type
|
||||
(list target open close)))
|
||||
(define (device-mapping-service mapped-device)
|
||||
"Return a service that sets up @var{mapped-device}."
|
||||
(service device-mapping-service-type mapped-device))
|
||||
|
||||
|
||||
;;;
|
||||
|
|
Loading…
Reference in a new issue