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