Activity log for bug #2059197

Date Who What changed Old value New value Message
2024-03-27 04:55:05 Jeff bug added bug
2024-03-27 12:36:42 Andreas Hasenack tags regression-update
2024-03-27 12:37:42 Andreas Hasenack bug added subscriber Matthew Ruffell
2024-04-03 01:00:18 Matthew Ruffell nominated for series Ubuntu Focal
2024-04-03 01:00:18 Matthew Ruffell bug task added nfs-utils (Ubuntu Focal)
2024-04-03 01:00:23 Matthew Ruffell nfs-utils (Ubuntu): status New Fix Released
2024-04-03 01:00:26 Matthew Ruffell nfs-utils (Ubuntu Focal): status New In Progress
2024-04-03 01:00:29 Matthew Ruffell nfs-utils (Ubuntu Focal): importance Undecided Medium
2024-04-03 01:00:30 Matthew Ruffell nfs-utils (Ubuntu Focal): assignee Matthew Ruffell (mruffell)
2024-04-03 02:35:21 Matthew Ruffell summary Issue with nfs4.0 mounts after upgrade to 3.6 Fix minor version parsing when '-t nfs4' and '-o vers=4.x' are used together
2024-04-03 02:35:33 Matthew Ruffell summary Fix minor version parsing when '-t nfs4' and '-o vers=4.x' are used together mount.nfs: Fix minor version parsing when '-t nfs4' and '-o vers=4.x' are used together
2024-04-03 02:35:57 Matthew Ruffell description Hello, On Ubuntu Server 20.04.6 LTS with the update of nfs-common package => "nfs-common/focal-updates 1:1.3.4-2.5ubuntu3.5" to "nfs-common/focal-updates 1:1.3.4-2.5ubuntu3.6" I started having issues mounting ntf4.0 volumes. The NFS server supports 4.0, 4.1 and 4.2 The issue appears when using '-t ntfs4' and setting the version using -o vers=. When using 1:1.3.4-2.5ubuntu3.5 I am able to use '-o vers' to set the version when using -t ntfs4 eg mount -t nfs4 -o vers=4.0 -vvv SERVER.local:/srv/data /mnt/test mount.nfs4: trying text-based options 'vers=4.0,addr=xx.xx.xx.xx,clientaddr=xx.xx.xx.xx' mount -t nfs4 -o vers=4.1 -vvv SERVER.local:/srv/data /mnt/test mount.nfs4: trying text-based options 'vers=4.1,addr=xx.xx.xx.xx,clientaddr=xx.xx.xx.xx' However after upgrading to 1:1.3.4-2.5ubuntu3.6 it always mounts as nfs4.2 mount -t nfs4 -o vers=4.0 -vvv SERVER.local:/srv/data /mnt/test mount.nfs4: trying text-based options 'vers=4.2,addr=xx.xx.xx.xx,clientaddr=xx.xx.xx.xx' mount -t nfs4 -o vers=4.1 -vvv SERVER.local:/srv/data /mnt/test mount.nfs4: trying text-based options 'vers=4.2,addr=xx.xx.xx.xx,clientaddr=xx.xx.xx.xx' I would have expected the specified version in -o vers to be used when using '-t nfs4' When using '-t nfs' I am able to mount volumes as nfs 4.0. I understand that 1:1.3.4-2.5ubuntu3.6 fixes version negotiation so maybe this isn't a bug and the intent with '-t nfs4' is to always use the highest version. If so please feel free to close the report [Impact] When specifying both '-t nfs4' and '-o vers=4.x' on the mount command line, mount.nfs ignores any specific version set with '-o vers=4.x' or '-o vers=4,minorversion=x', and simply attempts version negotiation, which due to my recent changes in bug 2049262, would land on the highest supported nfs version, likely 4.2. Users who specify what version they want should get the version they ask for, and thus, this is a regression introduced in 1:1.3.4-2.5ubuntu3.6. A workaround is to drop '-t nfs4' and to use mount.nfs directly instead, i.e.: $ sudo mount.nfs -o vers=4.1 -vvv jammy-nfs-server:/ /mnt [Testcase] Create two VMs, one jammy and one focal. The jammy VM will be the server. Server VM: $ sudo hostnamectl set-hostname jammy-nfs-server $ sudo apt update && sudo apt upgrade -y $ sudo apt install nfs-kernel-server $ sudo mkdir /export $ sudo mkdir /export/users $ sudo mkdir /home/users $ sudo vi /etc/fstab # add the following line: /home/users /export/users none bind 0 0 $ sudo mount -a $ sudo vi /etc/exports # add the following lines: /export 192.168.122.0/24(rw,fsid=0,no_subtree_check,sync) /export/users 192.168.122.0/24(rw,nohide,insecure,no_subtree_check,sync) $ sudo systemctl restart nfs-server.service Focal VM: $ sudo hostnamectl set-hostname focal-nfs-client $ sudo apt update && sudo apt upgrade -y $ sudo apt install nfs-common And then try mounting with both '-t nfs4' and '-o vers=4.1': $ sudo mount -t nfs4 -o vers=4.1 -vvv jammy-nfs-server:/ /mnt mount.nfs4: timeout set for Wed Apr 3 00:51:23 2024 mount.nfs4: trying text-based options 'vers=4.2,addr=192.168.122.217,clientaddr=192.168.122.9' and then try with both '-t nfs4' and '-o vers=4,minorversion=1': $ sudo mount -t nfs4 -o vers=4,minorversion=1 -vvv jammy-nfs-server:/ /mnt mount.nfs4: timeout set for Wed Apr 3 02:19:03 2024 mount.nfs4: trying text-based options 'minorversion=1,vers=4.2,addr=192.168.122.217,clientaddr=192.168.122.9' In each of those mounts, it incorrectly uses protocol version 4.2, instead of requested 4.1. If you install the test packages in the following ppa: https://launchpad.net/~mruffell/+archive/ubuntu/lp2059197-test then vers should always be 4.1, instead of 4.2. [Where problems can occur] It is quite clear now that changing version negotiation and parsing is quite problematic, after the number of regressions the previous 1:1.3.4-2.5ubuntu3.6 caused the community, and the sheer number of commits upstream took to resolve lingering issues. We need to be careful, to make sure we don't introduce any further regressions. This time, we are only changing how mount.nfs parses and processes command line arguments for version specification, and not changing version negotiation itself. This could impact NFS clients, when they go to mount NFS filesystems. If a regression were to occur, then users might have to manually mount their NFS filesystems or look into autofs. There should be no breaking changes to any behaviour when mounting NFS filesystems. There are no changes to nfs server. [Other Info] This was fixed multiple times, across the following three commits: commit 1e3ca7fe199531a372bb8e1c1033d8973097be50 Author: NeilBrown <neilb@suse.com> Date: Wed Jul 26 13:47:42 2017 -0400 Subject: mount: move handling of "-t nfs4" into nfs_nfs_version() Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=1e3ca7fe199531a372bb8e1c1033d8973097be50 commit 050153ef6a86ff5ab06ef65be36336824a323779 Author: NeilBrown <neilb@suse.com> Date: Wed Jul 26 13:51:51 2017 -0400 Subject: mount: Fix problems with parsing minorversion= Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=050153ef6a86ff5ab06ef65be36336824a323779 commit 71b807e1a69940beb31fdeb481c2e54509e8bd32 Author: Steve Dickson <steved@redhat.com> Date: Thu Mar 1 13:52:47 2018 -0500 Subject: mount.nfs: minorversion setting is being ignored with the -t flag Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=71b807e1a69940beb31fdeb481c2e54509e8bd32 Jammy has all of these, and does not need any fixes.
2024-04-03 02:36:19 Matthew Ruffell tags regression-update regression-update seg
2024-04-03 02:37:11 Matthew Ruffell attachment added Debdiff for nfs-utils on Focal https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/2059197/+attachment/5761398/+files/lp2059197_focal.debdiff
2024-04-03 02:56:34 Matthew Ruffell bug added subscriber Support Engineering Sponsors
2024-04-03 16:56:05 Heitor Alves de Siqueira bug added subscriber Heitor Alves de Siqueira
2024-04-10 14:58:57 Heitor Alves de Siqueira nfs-utils (Ubuntu Focal): status In Progress Incomplete
2024-04-11 01:34:44 Matthew Ruffell attachment removed Debdiff for nfs-utils on Focal https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/2059197/+attachment/5761398/+files/lp2059197_focal.debdiff
2024-04-11 01:47:38 Matthew Ruffell attachment added Debdiff for nfs-utils on Focal V2 https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/2059197/+attachment/5763564/+files/lp2059197_focal_V2.debdiff
2024-04-11 01:47:44 Matthew Ruffell nfs-utils (Ubuntu Focal): status Incomplete In Progress
2024-04-11 01:48:47 Matthew Ruffell description [Impact] When specifying both '-t nfs4' and '-o vers=4.x' on the mount command line, mount.nfs ignores any specific version set with '-o vers=4.x' or '-o vers=4,minorversion=x', and simply attempts version negotiation, which due to my recent changes in bug 2049262, would land on the highest supported nfs version, likely 4.2. Users who specify what version they want should get the version they ask for, and thus, this is a regression introduced in 1:1.3.4-2.5ubuntu3.6. A workaround is to drop '-t nfs4' and to use mount.nfs directly instead, i.e.: $ sudo mount.nfs -o vers=4.1 -vvv jammy-nfs-server:/ /mnt [Testcase] Create two VMs, one jammy and one focal. The jammy VM will be the server. Server VM: $ sudo hostnamectl set-hostname jammy-nfs-server $ sudo apt update && sudo apt upgrade -y $ sudo apt install nfs-kernel-server $ sudo mkdir /export $ sudo mkdir /export/users $ sudo mkdir /home/users $ sudo vi /etc/fstab # add the following line: /home/users /export/users none bind 0 0 $ sudo mount -a $ sudo vi /etc/exports # add the following lines: /export 192.168.122.0/24(rw,fsid=0,no_subtree_check,sync) /export/users 192.168.122.0/24(rw,nohide,insecure,no_subtree_check,sync) $ sudo systemctl restart nfs-server.service Focal VM: $ sudo hostnamectl set-hostname focal-nfs-client $ sudo apt update && sudo apt upgrade -y $ sudo apt install nfs-common And then try mounting with both '-t nfs4' and '-o vers=4.1': $ sudo mount -t nfs4 -o vers=4.1 -vvv jammy-nfs-server:/ /mnt mount.nfs4: timeout set for Wed Apr 3 00:51:23 2024 mount.nfs4: trying text-based options 'vers=4.2,addr=192.168.122.217,clientaddr=192.168.122.9' and then try with both '-t nfs4' and '-o vers=4,minorversion=1': $ sudo mount -t nfs4 -o vers=4,minorversion=1 -vvv jammy-nfs-server:/ /mnt mount.nfs4: timeout set for Wed Apr 3 02:19:03 2024 mount.nfs4: trying text-based options 'minorversion=1,vers=4.2,addr=192.168.122.217,clientaddr=192.168.122.9' In each of those mounts, it incorrectly uses protocol version 4.2, instead of requested 4.1. If you install the test packages in the following ppa: https://launchpad.net/~mruffell/+archive/ubuntu/lp2059197-test then vers should always be 4.1, instead of 4.2. [Where problems can occur] It is quite clear now that changing version negotiation and parsing is quite problematic, after the number of regressions the previous 1:1.3.4-2.5ubuntu3.6 caused the community, and the sheer number of commits upstream took to resolve lingering issues. We need to be careful, to make sure we don't introduce any further regressions. This time, we are only changing how mount.nfs parses and processes command line arguments for version specification, and not changing version negotiation itself. This could impact NFS clients, when they go to mount NFS filesystems. If a regression were to occur, then users might have to manually mount their NFS filesystems or look into autofs. There should be no breaking changes to any behaviour when mounting NFS filesystems. There are no changes to nfs server. [Other Info] This was fixed multiple times, across the following three commits: commit 1e3ca7fe199531a372bb8e1c1033d8973097be50 Author: NeilBrown <neilb@suse.com> Date: Wed Jul 26 13:47:42 2017 -0400 Subject: mount: move handling of "-t nfs4" into nfs_nfs_version() Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=1e3ca7fe199531a372bb8e1c1033d8973097be50 commit 050153ef6a86ff5ab06ef65be36336824a323779 Author: NeilBrown <neilb@suse.com> Date: Wed Jul 26 13:51:51 2017 -0400 Subject: mount: Fix problems with parsing minorversion= Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=050153ef6a86ff5ab06ef65be36336824a323779 commit 71b807e1a69940beb31fdeb481c2e54509e8bd32 Author: Steve Dickson <steved@redhat.com> Date: Thu Mar 1 13:52:47 2018 -0500 Subject: mount.nfs: minorversion setting is being ignored with the -t flag Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=71b807e1a69940beb31fdeb481c2e54509e8bd32 Jammy has all of these, and does not need any fixes. [Impact] When specifying both '-t nfs4' and '-o vers=4.x' on the mount command line, mount.nfs ignores any specific version set with '-o vers=4.x' or '-o vers=4,minorversion=x', and simply attempts version negotiation, which due to my recent changes in bug 2049262, would land on the highest supported nfs version, likely 4.2. Users who specify what version they want should get the version they ask for, and thus, this is a regression introduced in 1:1.3.4-2.5ubuntu3.6. A workaround is to drop '-t nfs4' and to use mount.nfs directly instead, i.e.: $ sudo mount.nfs -o vers=4.1 -vvv jammy-nfs-server:/ /mnt [Testcase] Create two VMs, one jammy and one focal. The jammy VM will be the server. Server VM: $ sudo hostnamectl set-hostname jammy-nfs-server $ sudo apt update && sudo apt upgrade -y $ sudo apt install nfs-kernel-server $ sudo mkdir /export $ sudo mkdir /export/users $ sudo mkdir /home/users $ sudo vi /etc/fstab # add the following line: /home/users /export/users none bind 0 0 $ sudo mount -a $ sudo vi /etc/exports # add the following lines: /export 192.168.122.0/24(rw,fsid=0,no_subtree_check,sync) /export/users 192.168.122.0/24(rw,nohide,insecure,no_subtree_check,sync) $ sudo systemctl restart nfs-server.service Focal VM: $ sudo hostnamectl set-hostname focal-nfs-client $ sudo apt update && sudo apt upgrade -y $ sudo apt install nfs-common And then try mounting with both '-t nfs4' and '-o vers=4.1': $ sudo mount -t nfs4 -o vers=4.1 -vvv jammy-nfs-server:/ /mnt mount.nfs4: timeout set for Wed Apr 3 00:51:23 2024 mount.nfs4: trying text-based options 'vers=4.2,addr=192.168.122.217,clientaddr=192.168.122.9' and then try with both '-t nfs4' and '-o vers=4,minorversion=1': $ sudo mount -t nfs4 -o vers=4,minorversion=1 -vvv jammy-nfs-server:/ /mnt mount.nfs4: timeout set for Wed Apr 3 02:19:03 2024 mount.nfs4: trying text-based options 'minorversion=1,vers=4.2,addr=192.168.122.217,clientaddr=192.168.122.9' In each of those mounts, it incorrectly uses protocol version 4.2, instead of requested 4.1. If you install the test packages in the following ppa: https://launchpad.net/~mruffell/+archive/ubuntu/lp2059197-test then vers should always be 4.1, instead of 4.2. [Where problems can occur] It is quite clear now that changing version negotiation and parsing is quite problematic, after the number of regressions the previous 1:1.3.4-2.5ubuntu3.6 caused the community, and the sheer number of commits upstream took to resolve lingering issues. We need to be careful, to make sure we don't introduce any further regressions. This time, we are only changing how mount.nfs parses and processes command line arguments for version specification, and not changing version negotiation itself. This could impact NFS clients, when they go to mount NFS filesystems. If a regression were to occur, then users might have to manually mount their NFS filesystems or look into autofs. There should be no breaking changes to any behaviour when mounting NFS filesystems. There are no changes to nfs server. [Other Info] This was fixed multiple times, across the following three commits: commit 1e3ca7fe199531a372bb8e1c1033d8973097be50 Author: NeilBrown <neilb@suse.com> Date: Wed Jul 26 13:47:42 2017 -0400 Subject: mount: move handling of "-t nfs4" into nfs_nfs_version() Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=1e3ca7fe199531a372bb8e1c1033d8973097be50 commit 050153ef6a86ff5ab06ef65be36336824a323779 Author: NeilBrown <neilb@suse.com> Date: Wed Jul 26 13:51:51 2017 -0400 Subject: mount: Fix problems with parsing minorversion= Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=050153ef6a86ff5ab06ef65be36336824a323779 commit 71b807e1a69940beb31fdeb481c2e54509e8bd32 Author: Steve Dickson <steved@redhat.com> Date: Thu Mar 1 13:52:47 2018 -0500 Subject: mount.nfs: minorversion setting is being ignored with the -t flag Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=71b807e1a69940beb31fdeb481c2e54509e8bd32 commit 5f32083c759b468f5b0cb9302e4fe2848d37cc5b From: Steve Dickson <steved@redhat.com> Date: Tue, 10 Apr 2018 10:25:40 -0400 Subject: mount.nfs: Fix auto protocol negotiation Link: https://git.linux-nfs.org/?p=steved/nfs-utils.git;a=commitdiff;h=5f32083c759b468f5b0cb9302e4fe2848d37cc5b Jammy has all of these, and does not need any fixes.
2024-04-18 20:00:09 Andreas Hasenack nfs-utils (Ubuntu Focal): status In Progress Fix Committed
2024-04-18 20:00:10 Andreas Hasenack bug added subscriber Ubuntu Stable Release Updates Team
2024-04-18 20:00:14 Andreas Hasenack bug added subscriber SRU Verification
2024-04-18 20:00:19 Andreas Hasenack tags regression-update seg regression-update seg verification-needed verification-needed-focal
2024-04-19 03:37:03 Matthew Ruffell tags regression-update seg verification-needed verification-needed-focal regression-update seg verification-done-focal
2024-04-25 17:07:28 Andreas Hasenack bug added subscriber Andreas Hasenack
2024-04-25 20:35:23 Launchpad Janitor nfs-utils (Ubuntu Focal): status Fix Committed Fix Released
2024-04-25 20:35:27 Andreas Hasenack removed subscriber Ubuntu Stable Release Updates Team