Performing verification for Focal.
I set up a Jammy VM to be the nfs server, using the instructions in the
SRU template.
$ sudo cat /proc/fs/nfsd/versions
-2 -3 +4 -4.0 +4.1 +4.2
4.0 is not allowed, but 4.1 and 4.2 are.
I then started a fresh Focal VM, and installed nfs-common
1.3.4-2.5ubuntu3.5 from -updates.
I then tried to mount the NFS share:
$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Mon Feb 26 01:21:35 2024
mount.nfs: trying text-based options
'vers=4,addr=192.168.122.17,clientaddr=192.168.122.19'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
as the bug report describes, when we specify -o vers=4 on the mount
command line, it only tries 4.0 and no other version.
I then enabled -proposed and installed nfs-common 1.3.4-2.5ubuntu3.6.
Trying the mount again:
$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Mon Feb 26 01:27:47 2024
mount.nfs: trying text-based options
'vers=4.2,addr=192.168.122.17,clientaddr=192.168.122.19'
$ ll /mnt
total 12
drwxr-xr-x 3 root root 4096 Feb 26 01:10 ./
drwxr-xr-x 19 root root 4096 Feb 26 01:13 ../
drwxr-xr-x 2 root root 4096 Feb 26 01:10 users/
This time it correctly tries version 4.2, and since 4.2 is allowed, the
mount succeeds.
To test the laddering, I went to the nfs-server and then edited
/etc/nfs.conf and changed:
vers4.2=n
and restarted nfs-server.service.
Back on the Focal VM, we now see:
$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Mon Feb 26 01:30:40 2024
mount.nfs: trying text-based options
'vers=4.2,addr=192.168.122.17,clientaddr=192.168.122.19'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options
'vers=4.1,addr=192.168.122.17,clientaddr=192.168.122.19'
$ ll /mnt
total 12
drwxr-xr-x 3 root root 4096 Feb 26 01:10 ./
drwxr-xr-x 19 root root 4096 Feb 26 01:13 ../
drwxr-xr-x 2 root root 4096 Feb 26 01:10 users/
The laddering works, and we try version 4.2, then 4.1 which succeeds.
Lets also turn off 4.1 on the server, and enable 4.0:
vers4.0=y
vers4.1=n
now on the client, we see:
$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Mon Feb 26 01:32:53 2024
mount.nfs: trying text-based options
'vers=4.2,addr=192.168.122.17,clientaddr=192.168.122.19'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options
'vers=4.1,addr=192.168.122.17,clientaddr=192.168.122.19'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options
'vers=4.0,addr=192.168.122.17,clientaddr=192.168.122.19'
$ ll /mnt
total 12
drwxr-xr-x 3 root root 4096 Feb 26 01:10 ./
drwxr-xr-x 19 root root 4096 Feb 26 01:13 ../
drwxr-xr-x 2 root root 4096 Feb 26 01:10 users/
We laddered all the way down to 4.0 and connected, since we just allowed
it.
This works great. The package in -proposed fixes the issue. Happy to
mark verified for Focal.
** Tags removed: verification-needed verification-needed-focal
** Tags added: verification-done-focal
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2049262
Title:
mount.nfs: fix version negotiation laddering with parameters '-t nfs4'
or '-o vers=4'
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/2049262/+subscriptions
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs