Subject: bug#41515: closed (Re: [bug#41515] [PATCH] services: nfs: Expose configuration options for TCP and UDP.)

From: [email-masked] (GNU bug Tracking System)
Date: Sat, 30 May 2020 04:58:02 +0000

Your bug report

#41515: [PATCH] services: nfs: Expose configuration options for TCP and UDP.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
41515: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=41515
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#41515] [PATCH] services: nfs: Expose configuration options for TCP and UDP.
From: Maxim Cournoyer <[email-masked]>
To: Brice Waegeneire via web <[email-masked]>
Cc: [email-masked]
Date: Sat, 30 May 2020 00:57:34 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Brice!

Brice Waegeneire via web <[email-masked]> writes:

> maxim.cournoyer wrote:
>> * gnu/services/nfs.scm (<nfs-configuration>)[nfsd-tcp?, nfsd-udp?]:
>> Newfields.(nfs-shepherd-services)[rpc.nfsd]: Populate the
>> --{no-,}tcp and --{no-,}udpcommand 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 +++++++++++++-
>
> LGTM!

That was quick! For some reason I didn't get your reply, because only
emails addressed directly to me reach my inbox (others are refiled to
groups). That's usually fine as when people send wide replies it sends a
copy to the original poster, not just to the debbugs email.

Perhaps we could improve issues.guix.gnu.org to send wide replies to all
participants if it has their email address available.

Anyway, pushed as commit c08fac0f7d :-).

Thank you!

Maxim

Subject: [PATCH] services: nfs: Expose configuration options for TCP and UDP.
From: [email-masked]
To: guix-patches <[email-masked]>
Date: Sun, 24 May 2020 15:28:51 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

While attempting to NFS boot an embedded board, it discovered that
U-Boot expects the server to listen to UDP, which it doesn't by default.

This patch adds a switch to make it possible to configure to what kind
of sockets (TCP/UDP or both) the NFS server listens to.

Maxim

From 0fffe89255c313ff3b7993f95627377046312a27 Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <[email-masked]>
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(-)

diff --git a/doc/guix.texi b/doc/guix.texi
index 216422fe31..fb18fa5831 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -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.
 
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 <[email-masked]>
 ;;; Copyright © 2018, 2019, 2020 Ricardo Wurmus <[email-masked]>
+;;; Copyright © 2020 Maxim Cournoyer <[email-masked]>
 ;;;
 ;;; 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