From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Thompson Subject: [PATCH 09/15] gnu: system: Move into (gnu system file-systems). Date: Mon, 6 Jul 2015 09:16:38 -0400 Message-ID: <1436188604-2813-9-git-send-email-dthompson2@worcester.edu> References: <1436188604-2813-1-git-send-email-dthompson2@worcester.edu> Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:47515) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZC6H7-0001SI-MR for guix-devel@gnu.org; Mon, 06 Jul 2015 09:17:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZC6H3-0006wS-HQ for guix-devel@gnu.org; Mon, 06 Jul 2015 09:17:33 -0400 Received: from mail-qk0-f181.google.com ([209.85.220.181]:35777) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZC6H3-0006wA-8v for guix-devel@gnu.org; Mon, 06 Jul 2015 09:17:29 -0400 Received: by qkbp125 with SMTP id p125so116382290qkb.2 for ; Mon, 06 Jul 2015 06:17:29 -0700 (PDT) In-Reply-To: <1436188604-2813-1-git-send-email-dthompson2@worcester.edu> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org Cc: David Thompson From: David Thompson * gnu/system/vm.scm (, %store-mapping): Move from here... * gnu/system/file-systems.scm: ...to here. * guix/scripts/system.scm: Import (gnu system file-systems). --- gnu/system/file-systems.scm | 32 +++++++++++++++++++++++++++++++- gnu/system/vm.scm | 22 ---------------------- guix/scripts/system.scm | 1 + 3 files changed, 32 insertions(+), 23 deletions(-) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 05c77fe..cbaca88 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-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 + 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 e194ed6..690022d 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 - 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 aa9b3f8..6084ab8 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) -- 2.4.3