diff options
author | Ludovic Courtès <ludo@gnu.org> | 2016-11-10 17:45:54 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2016-11-10 18:01:44 +0100 |
commit | 5970e8e248f6327c41c83b86bb2c89be7c3b1b4e (patch) | |
tree | 0f796474c90be43c8ce6f2e974064953e0b230c4 /gnu/system/file-systems.scm | |
parent | 5e7eaccb14382b2d49bc8b4fc10fc57876d6c56f (diff) | |
download | patches-5970e8e248f6327c41c83b86bb2c89be7c3b1b4e.tar patches-5970e8e248f6327c41c83b86bb2c89be7c3b1b4e.tar.gz |
container: Pass a list of <file-system> objects as things to mount.
* gnu/build/linux-container.scm (mount-file-systems): 'mounts' is now a
list of <file-system> objects instead of a list of lists ("specs").
Add call to 'file-system->spec' as the argument to 'mount-file-system'.
(run-container, call-with-container): Adjust docstring accordingly.
* gnu/system/file-systems.scm (spec->file-system): New procedure.
* gnu/system/linux-container.scm (container-script)[script]: Call
'spec->file-system' inside gexp.
* guix/scripts/environment.scm (launch-environment/container): Remove
call to 'file-system->spec'.
* tests/containers.scm ("call-with-container, mnt namespace")
("call-with-container, mnt namespace, wrong bind mount"): Pass a list of
<file-system> objects.
Diffstat (limited to 'gnu/system/file-systems.scm')
-rw-r--r-- | gnu/system/file-systems.scm | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index b51d57f079..4cc1221eb8 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -40,6 +40,7 @@ file-system-dependencies file-system->spec + spec->file-system specification->file-system-mapping uuid @@ -107,6 +108,16 @@ initrd code." (($ <file-system> device title mount-point type flags options _ _ check?) (list device title mount-point type flags options check?)))) +(define (spec->file-system sexp) + "Deserialize SEXP, a list, to the corresponding <file-system> object." + (match sexp + ((device title mount-point type flags options check?) + (file-system + (device device) (title title) + (mount-point mount-point) (type type) + (flags flags) (options options) + (check? check?))))) + (define (specification->file-system-mapping spec writable?) "Read the SPEC and return the corresponding <file-system-mapping>. SPEC is a string of the form \"SOURCE\" or \"SOURCE=TARGET\". The former specifies |