Subject: bug#39551: Cannot declare an NFS mount using the <file-system> record

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 12 Feb 2020 03:54:21 -0500

Hello,

Maxim Cournoyer <[email-masked]> writes:

> When I try adding an NFS mount point to my Guix System, like:
>
> [...]
> (file-system
>   (device "192.168.1.10:/mnt/scratch/")
>   (mount-point "/mnt/scratch/")
>   (type "nfs")
>   (options "rw,async,soft,noexec"))
> [...]
>
> Reconfiguring fails with the message:
>
> error: device '192.168.1.10' not found: No such file or directory
> hint: If '192.168.1.10' is a file system label, write
> `(file-system-label "192.168.1.10")' in your `device' field.
>
> So it doesn't appear to be possible to declare an NFS mount currently,
> despite commit 0c85db79f7a8abc3bcdbf8931d959fe94306a5a1 that'd suggest
> it should be possible.
>
> Maxim

The attached patch fixes this issue

>From 6aad93c3a2ccef9936cadeeab92edece7afac0dd Mon Sep 17 00:00:00 2001
From: Maxim Cournoyer <[email-masked]>
Date: Mon, 10 Feb 2020 15:06:50 -0500
Subject: [PATCH] scripts: system: Disable checks for NFS shares.

Fixes issue #39551 (https://bugs.nu.org/39551).

* guix/scripts/system.scm (check-file-system-availability): Ignore file
systems of the NFS type.
---
 guix/scripts/system.scm | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index b0386a1392..26a1599a93 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -566,6 +566,8 @@ any, are available.  Raise an error if they're not."
               (and (file-system-mount? fs)
                    (not (member (file-system-type fs)
                                 %pseudo-file-system-types))
+                   ;; Fixes issue #39551 (see: https://bugs.gnu.org/39551).
+                   (not (string-prefix? "nfs" (file-system-type fs)))
                    (not (memq 'bind-mount (file-system-flags fs)))))
             file-systems))
 
-- 
2.25.0