Performing verification for Focal.

I started two VMs, one Jammy, which is the nfs server, and one Focal,
which is the client. I used the instructions in the testcase sections of
this bug, and also bug 2049262.

The Focal VM has nfs-common 1:1.3.4-2.5ubuntu3.6 from -updates.

Let's try the testcase for this bug, covering the regression.

$ sudo mount -t nfs4 -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:12:50 2024
mount.nfs4: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:13:23 2024
mount.nfs4: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:13:30 2024
mount.nfs4: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4,minorversion=2 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:13:36 2024
mount.nfs4: trying text-based options 
'minorversion=2,vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4,minorversion=1 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:13:41 2024
mount.nfs4: trying text-based options 
'minorversion=1,vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4,minorversion=0 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:13:47 2024
mount.nfs4: trying text-based options 
'minorversion=0,vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt

This behaviour is wrong, as even when we specify the minorversion as .1
or .0, we always get .2, no matter what. We can reproduce the issue.

I then enabled -proposed, and installed nfs-common 1:1.3.4-2.5ubuntu3.7.

Let's retry the testcase.

$ sudo mount -t nfs4 -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:17:28 2024
mount.nfs4: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:17:35 2024
mount.nfs4: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:17:40 2024
mount.nfs4: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4,minorversion=2 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:17:48 2024
mount.nfs4: trying text-based options 
'vers=4,vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4,minorversion=1 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:17:54 2024
mount.nfs4: trying text-based options 
'vers=4,vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -t nfs4 -o vers=4,minorversion=0 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:18:01 2024
mount.nfs4: trying text-based options 
'vers=4,vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt

This looks much better. When we specify both '-t nfs4' and '-o vers=4.x'
we get the version we asked for. The version in -proposed fixes the
issue.

Again, I will run through the original testcase for bug, 2049262:

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2

$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:22:14 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:22:22 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:22:28 2024
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:22:34 2024
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt

Looks OK.

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 -4.0 +4.1 +4.2

$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:24:31 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:24:38 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:24:43 2024
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:24:50 2024
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported

Looks OK.

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 -4.0 +4.1 -4.2

$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:25:55 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:26:06 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:26:16 2024
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:26:23 2024
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.

Looks OK.

$ sudo cat /proc/fs/nfsd/versions
-2 +3 +4 -4.1 -4.2

$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:27:10 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt
$ sudo mount -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:27:53 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:27:22 2024
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:27:31 2024
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
$ sudo umount /mnt

Looks OK.

$ sudo cat /proc/fs/nfsd/versions
-2 +3 -4 -4.0 -4.1 -4.2

$ sudo mount -o vers=4 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:29:32 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=4.2 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:29:45 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=4.1 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:29:53 2024
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=4.0 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:30:00 2024
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: Protocol not supported
$ sudo umount /mnt
umount: /mnt: not mounted.
$ sudo mount -o vers=3 -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:30:08 2024
mount.nfs: trying text-based options 'vers=3,addr=192.168.122.109'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.122.109 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.122.109 prog 100005 vers 3 prot UDP port 43335
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting jammy-nfs-server:/

Looks OK.

Continuing with:

$ sudo cat /proc/fs/nfsd/versions
-2 +3 -4 -4.0 -4.1 -4.2

$ sudo mount -t nfs -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:31:34 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.122.109'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.122.109 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.122.109 prog 100005 vers 3 prot UDP port 43335
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting jammy-nfs-server:/
$ sudo mount -t nfs4 -vvv jammy-nfs-server:/ /mnt
mount.nfs4: timeout set for Fri Apr 19 03:31:44 2024
mount.nfs4: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs4: mount(2): Protocol not supported
mount.nfs4: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs4: mount(2): Protocol not supported
mount.nfs4: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs4: mount(2): Protocol not supported
mount.nfs4: Protocol not supported

-t nfs4 only trues nfs4, -t nfs tries all nfs4 and then nfs3.

Looks OK.

$ sudo mount -vvv jammy-nfs-server:/ /mnt
mount.nfs: timeout set for Fri Apr 19 03:32:37 2024
mount.nfs: trying text-based options 
'vers=4.2,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.1,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 
'vers=4.0,addr=192.168.122.109,clientaddr=192.168.122.161'
mount.nfs: mount(2): Protocol not supported
mount.nfs: trying text-based options 'addr=192.168.122.109'
mount.nfs: prog 100003, trying vers=3, prot=6
mount.nfs: trying 192.168.122.109 prog 100003 vers 3 prot TCP port 2049
mount.nfs: prog 100005, trying vers=3, prot=17
mount.nfs: trying 192.168.122.109 prog 100005 vers 3 prot UDP port 43335
mount.nfs: mount(2): Permission denied
mount.nfs: access denied by server while mounting jammy-nfs-server:/

Looks OK. All versions tried.

I am confident that nfs-common 1:1.3.4-2.5ubuntu3.7 in -proposed fixes
the regression, and doesn't introduce any new ones. 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/2059197

Title:
  mount.nfs: Fix minor version parsing when '-t nfs4' and '-o vers=4.x'
  are used together

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/2059197/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to