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

Reply via email to