Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 2021 22:15:59 +0000
From:      Rick Macklem <rmacklem@uoguelph.ca>
To:        Alan Somers <asomers@freebsd.org>
Cc:        freebsd-stable <freebsd-stable@freebsd.org>
Subject:   Re: FreeBSD NFSv4.1/4.2 server is broken when Linux mounts use "nconnects"
Message-ID:  <YQXPR0101MB096857C7E1A2250A913391F5DD7A9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
In-Reply-To: <CAOtMX2gOZkg3L8AawYiEhZX2JizuRTFYLiCE6eRvME=8cNXYaA@mail.gmail.com>
References:  <YQXPR0101MB0968CD19A33C3F03FFD7F4F4DD7E9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>, <CAOtMX2gOZkg3L8AawYiEhZX2JizuRTFYLiCE6eRvME=8cNXYaA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Alan Somers wrote:=0A=
>On Mon, Mar 29, 2021 at 3:52 PM Rick Macklem <rmacklem@uoguelph.ca<mailto:=
rmacklem@uoguelph.ca>> wrote:=0A=
>>Hi,=0A=
>>=0A=
>>The FreeBSD NFS server is broken when handling multiple=0A=
>>connections for NFSv4.1/4.2.=0A=
>>It incorrectly binds the back channel to a new connection=0A=
>>when is sees an RPC with Sequence in it (almost all RPCs)=0A=
>>and might send a callback on the wrong connection.=0A=
>>=0A=
>>I have a fix, but it won't be in a release until 12.3/13.1.=0A=
>>It can be found in Bugzilla PR#254560.=0A=
>>=0A=
>>In the meantime, avoid using the "nconnects" option=0A=
>>on Linux client mounts.=0A=
>>=0A=
>>Thanks go to Ben Coddington @redhat for diagnosing=0A=
>>this and testing the patch.=0A=
>>=0A=
>>Sorry about the breakage, rick=0A=
>>ps: It was done intentionally long ago, when clients=0A=
>>      did not do BindConnectionToSession and then slipped=0A=
>>      through the cracks.=0A=
>=0A=
>I've tested the patch and it works.  Specifically:=0A=
>=0A=
>* Without the patch and without nconnect, everything works on both 12.2 an=
d 13.0.=0A=
>* Without the patch, with nconnect, and without delegations, everything wo=
rks on 12.2, but on 13.0 clients lock up >when they try file I/O.=0A=
Hmm. The 12.2 and 13.0 code is the same w.r.t. The only difference I can th=
ink of=0A=
is that 13.0 has 4.2 in it and Linux tends to use the newest version suppor=
ted by the server.=0A=
=0A=
>* Without the patch, with nconnect, and with delegations, clients lock up =
on both 12.2 and 13.0.=0A=
>* With the patch on 13.0, everything works even with nconnect and delegati=
ons.=0A=
thanks for doing the testing, although it would have been more fun to crash=
 the Linux systems.;-)=0A=
=0A=
>I haven't tried backporting the patch to 12.2 yet.=0A=
The code hasn't changed in a long time, so it should drop in without diffic=
ulty, but it also=0A=
probably doesn't need testing.=0A=
=0A=
rick=0A=
ps: I've already committed it to current/main.=0A=
=0A=
-Alan=0A=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?YQXPR0101MB096857C7E1A2250A913391F5DD7A9>