diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-09-18 19:18:39 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-09-18 19:18:39 +0200 |
commit | 722554a306be645026d75893b77863769dcd861d (patch) | |
tree | 4b2e16ebb8524103708c48681f10dc976080e250 /gnu/system | |
parent | cb823dd279b77566f2974b210fbd58a7c53a2b0a (diff) | |
download | patches-722554a306be645026d75893b77863769dcd861d.tar patches-722554a306be645026d75893b77863769dcd861d.tar.gz |
system: Define 'device-mapping-kind', and add a 'close' procedure.
* gnu/system/file-systems.scm (<mapped-device-type>): New record type.
(<mapped-device>)[command]: Remove field.
[type]: New field.
* gnu/services/base.scm (device-mapping-service): Rename 'command'
parameter to 'open'. Add 'close' parameter and honor it.
* gnu/system.scm (luks-device-mapping): Rename to...
(open-luks-device): ... this.
(close-luks-device): New procedure.
(luks-device-mapping): New variable.
(device-mapping-services): Get the type of MD, and pass its 'open' and
'close' fields to 'device-mapping-service'.
Diffstat (limited to 'gnu/system')
-rw-r--r-- | gnu/system/file-systems.scm | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 90e2b0c796..ed9d70587f 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -17,6 +17,7 @@ ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. (define-module (gnu system file-systems) + #:use-module (guix gexp) #:use-module (guix records) #:export (<file-system> file-system @@ -43,7 +44,12 @@ mapped-device? mapped-device-source mapped-device-target - mapped-device-command)) + mapped-device-type + + mapped-device-kind + mapped-device-kind? + mapped-device-kind-open + mapped-device-kind-close)) ;;; Commentary: ;;; @@ -145,6 +151,13 @@ mapped-device? (source mapped-device-source) ;string (target mapped-device-target) ;string - (command mapped-device-command)) ;source target -> gexp + (type mapped-device-type)) ;<mapped-device-kind> + +(define-record-type* <mapped-device-type> mapped-device-kind + make-mapped-device-kind + mapped-device-kind? + (open mapped-device-kind-open) ;source target -> gexp + (close mapped-device-kind-close ;source target -> gexp + (default (const #~(const #f))))) ;;; file-systems.scm ends here |