From 0fffe89255c313ff3b7993f95627377046312a27 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Date: Sun, 24 May 2020 15:04:45 -0400
Subject: [PATCH] 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.
---
doc/guix.texi | 6 ++++++
gnu/services/nfs.scm | 14 +++++++++++++-
2 files changed, 19 insertions(+), 1 deletion(-)
@@ -22791,6 +22791,12 @@ The network port that the @command{nfsd} daemon should use.
@item @code{nfsd-threads} (default: @code{8})
The number of threads used by the @command{nfsd} daemon.
+@item @code{nfsd-tcp?} (default: @code{#t})
+Whether the @command{nfsd} daemon should listen on a TCP socket.
+
+@item @code{nfsd-udp?} (default: @code{#f})
+Whether the @command{nfsd} daemon should listen on a UDP socket.
+
@item @code{pipefs-directory} (default: @code{"/var/lib/nfs/rpc_pipefs"})
The directory where the pipefs file system is mounted.
@@ -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?
--
2.26.2