summary refs log tree commit diff
diff options
context:
space:
mode:
authorDavid Thompson <davet@gnu.org>2015-06-27 10:45:34 -0400
committerDavid Thompson <dthompson2@worcester.edu>2015-07-07 21:20:59 -0400
commit9110c2e9421b4f93b04411f72fcea90ae8511f3c (patch)
tree61c37ba751c3f2723e85d1699c40041f922c2ab5
parentdf3ce5c123929b690672cfc6adb3323a8033ec44 (diff)
downloadguix-9110c2e9421b4f93b04411f72fcea90ae8511f3c.tar.gz
gnu: system: Move <file-system-mapping> into (gnu system file-systems).
* gnu/system/vm.scm (<file-system-mapping>, %store-mapping): Move from here...
* gnu/system/file-systems.scm: ...to here.
* guix/scripts/system.scm: Import (gnu system file-systems).
-rw-r--r--gnu/system/file-systems.scm32
-rw-r--r--gnu/system/vm.scm22
-rw-r--r--guix/scripts/system.scm1
3 files changed, 32 insertions, 23 deletions
diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm
index 05c77fe3e8..cbaca88e15 100644
--- a/gnu/system/file-systems.scm
+++ b/gnu/system/file-systems.scm
@@ -52,7 +52,16 @@
             mapped-device-kind
             mapped-device-kind?
             mapped-device-kind-open
-            mapped-device-kind-close))
+            mapped-device-kind-close
+
+            <file-system-mapping>
+            file-system-mapping
+            file-system-mapping?
+            file-system-mapping-source
+            file-system-mapping-target
+            file-system-mapping-writable?
+
+            %store-mapping))
 
 ;;; Commentary:
 ;;;
@@ -199,4 +208,25 @@ file system."
   (close     mapped-device-kind-close             ;source target -> gexp
              (default (const #~(const #f)))))
 
+
+;;;
+;;; Shared file systems, for VMs/containers.
+;;;
+
+;; Mapping of host file system SOURCE to mount point TARGET in the guest.
+(define-record-type* <file-system-mapping> file-system-mapping
+  make-file-system-mapping
+  file-system-mapping?
+  (source    file-system-mapping-source)          ;string
+  (target    file-system-mapping-target)          ;string
+  (writable? file-system-mapping-writable?        ;Boolean
+             (default #f)))
+
+(define %store-mapping
+  ;; Mapping of the host's store into the guest.
+  (file-system-mapping
+   (source (%store-prefix))
+   (target (%store-prefix))
+   (writable? #f)))
+
 ;;; file-systems.scm ends here
diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm
index e194ed6cf1..690022dcd8 100644
--- a/gnu/system/vm.scm
+++ b/gnu/system/vm.scm
@@ -58,12 +58,6 @@
             qemu-image
             system-qemu-image
 
-            file-system-mapping
-            file-system-mapping?
-            file-system-mapping-source
-            file-system-mapping-target
-            file-system-mapping-writable?
-
             system-qemu-image/shared-store
             system-qemu-image/shared-store-script
             system-disk-image))
@@ -354,22 +348,6 @@ of the GNU system as described by OS."
 ;;; VMs that share file systems with the host.
 ;;;
 
-;; Mapping of host file system SOURCE to mount point TARGET in the guest.
-(define-record-type* <file-system-mapping> file-system-mapping
-  make-file-system-mapping
-  file-system-mapping?
-  (source    file-system-mapping-source)          ;string
-  (target    file-system-mapping-target)          ;string
-  (writable? file-system-mapping-writable?        ;Boolean
-             (default #f)))
-
-(define %store-mapping
-  ;; Mapping of the host's store into the guest.
-  (file-system-mapping
-   (source (%store-prefix))
-   (target (%store-prefix))
-   (writable? #f)))
-
 (define (file-system->mount-tag fs)
   "Return a 9p mount tag for host file system FS."
   ;; QEMU mount tags cannot contain slashes and cannot start with '_'.
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index aa9b3f838a..6084ab8a37 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -30,6 +30,7 @@
   #:use-module (guix build utils)
   #:use-module (gnu build install)
   #:use-module (gnu system)
+  #:use-module (gnu system file-systems)
   #:use-module (gnu system vm)
   #:use-module (gnu system grub)
   #:use-module (gnu packages grub)