summary refs log tree commit diff
path: root/gnu/services/nfs.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-05-24 15:04:45 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2020-05-29 21:48:58 -0400
commitc08fac0f7d175b9deb182c597cecdae997efce9d (patch)
treeb1ef6016dbe574f47fd063bba403c672d6bd05a0 /gnu/services/nfs.scm
parent49de32748ddcbe5026b23ffc5365a3ca524790ec (diff)
downloadguix-c08fac0f7d175b9deb182c597cecdae997efce9d.tar.gz
services: nfs: Expose configuration options for TCP and UDP.
* gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]: New
fields.
(nfs-shepherd-services)[rpc.nfsd]: Populate the --{no-,}tcp and --{no-,}udp
command line options based on the values of the nfsd-tcp? and nfsd-upd?
fields.
* doc/guix.texi (Network File System): Add doc.
Diffstat (limited to 'gnu/services/nfs.scm')
-rw-r--r--gnu/services/nfs.scm14
1 files changed, 13 insertions, 1 deletions
diff --git a/gnu/services/nfs.scm b/gnu/services/nfs.scm
index 4e358197e2..859097e788 100644
--- a/gnu/services/nfs.scm
+++ b/gnu/services/nfs.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 John Darrington <jmd@gnu.org>
 ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -261,6 +262,10 @@
                        (default 2049))
   (nfsd-threads        nfs-configuration-nfsd-threads
                        (default 8))
+  (nfsd-tcp?           nfs-configuration-nfsd-tcp?
+                       (default #t))
+  (nfsd-udp?           nfs-configuration-nfsd-udp?
+                       (default #f))
   (pipefs-directory    nfs-configuration-pipefs-directory
                        (default default-pipefs-directory))
   ;; List of modules to debug; any of nfsd, nfs, rpc, idmap, statd, or mountd.
@@ -272,6 +277,7 @@
   (match-record config <nfs-configuration>
     (nfs-utils nfs-versions exports
                rpcmountd-port rpcstatd-port nfsd-port nfsd-threads
+               nfsd-tcp? nfsd-udp?
                pipefs-directory debug)
     (list (shepherd-service
            (documentation "Mount the nfsd pseudo file system.")
@@ -332,7 +338,13 @@
                                #$@(map (lambda (version)
                                          (string-append "--nfs-version=" version))
                                        nfs-versions)
-                               #$(number->string nfsd-threads))))))
+                               #$(number->string nfsd-threads)
+                               #$(if nfsd-tcp?
+                                     "--tcp"
+                                     "--no-tcp")
+                               #$(if nfsd-udp?
+                                     "--udp"
+                                     "--no-udp"))))))
            (stop
             #~(lambda _
                 (zero?