[Bug 284939] NFSv4 server and clients.

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 21 Feb 2025 00:18:30 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=284939

            Bug ID: 284939
           Summary: NFSv4 server and clients.
           Product: Base System
           Version: 14.2-RELEASE
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: misc
          Assignee: bugs@FreeBSD.org
          Reporter: eu9gu4@gmail.com

I was using NFSv3 successfully for a long time and tried recently NFSv4 under
Linux and FreeBSD servers and clients, after reading the man pages and various
guidelines. Results in the following table. Configs and options below.

-----------------------------------------------------
                |              Client               |
                |-----------------------------------|
     Server     |      Linux      |      FreeBSD    |
                |------------------------------------
                | NFSv4  | NFSv3  | NFSv4  | NFSv3  |
----------------|-----------------|------------------
        | NFSv4 |   ok   |   ok   |   ok   |   ok   |
Linux   |-------|--------|--------|--------|--------|
        | NFSv3 |   -    |   ok   |   -    |   ok   |
----------------|--------|--------|--------|--------|
        | NFSv4 |  err 2 |   ok   |  err 1 |   ok   |
FreeBSD |-------|--------|--------|--------|--------|
        | NFSv3 |   -    |   ok   |   -    |   ok   |
-----------------------------------------------------

Test command (both Linux and FreeBSD, issued by root on the client):

rsync -avhriulK --super --progress --stats  /home/user/media/video/
/srv/storage/home/user/media/video

ok    - rsync works fine

err 1 - rsync fails for all files with the following:
No name and/or group mapping for uid,gid:(0:0)
rsync [generator] chown "file name" failed: Operation not permitted (1)

err 2 - rsync fails for all files with the following:
rsync [generator] chgrp "file name" failed: Invalid argument (22)

although root has the same uid (0) and gid (0) on all machines.

FreeBSD server NFSv4 /etc/exports:
V4: /srv -network 10.0.0/24
/srv/storage -alldirs -maproot=root -network 10.0.0/24

FreeBSD server NFSv3 /etc/exports:
/srv/storage -alldirs -maproot=root -network 10.0.0/24

Linux server NFSv4 /etc/exports:
/srv
10.0.0.0/24(rw,async,nohide,crossmnt,no_subtree_check,insecure_locks,no_root_squash,fsid=0)

Linux server NFSv3 /etc/exports:
/srv/storage
10.0.0.0/24(rw,async,nohide,no_subtree_check,insecure,insecure_locks,no_root_squash)

FreeBSD client mount:
NFSv3: mount_nfs -o rw,async,soft,noatime,nfsv3 10.0.0.101:/srv/storage
/srv/storage
NFSv4: mount_nfs -o rw,async,noatime,nfsv4 10.0.0.101:/storage /srv/storage

Linux client mount:
NFSv3: mount -t nfs -o defaults,async,soft,noatime,vers=3
10.0.0.101:/srv/storage /srv/storage
NFSv4: mount -t nfs -o defaults,async,soft,noatime,vers=4 10.0.0.101:/storage
/srv/storage

Summary:

- On a NFSv4 Linux server,the client works fine regardless of the mount (v4 or
v3).
- On a NFSv4 FreeBSD server, the client works only if the mount is v3 and fails
whith v4.

Why can't a NFSv4 server on FreeBSD work with a NFSv4 client?
Is there something wrong with my exports and/or mount options?

-- 
You are receiving this mail because:
You are the assignee for the bug.