Date: Fri, 2 Apr 2021 16:49:34 -0600 From: Alan Somers <asomers@freebsd.org> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: freebsd-stable <freebsd-stable@freebsd.org> Subject: Re: FreeBSD NFSv4.1/4.2 server is broken when Linux mounts use "nconnects" Message-ID: <CAOtMX2j%2B5pY_Lr4GTFc2FHSKqYzq3t2LkFQBty%2BUKZrk6O=0pA@mail.gmail.com> In-Reply-To: <YQXPR0101MB096857C7E1A2250A913391F5DD7A9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> References: <YQXPR0101MB0968CD19A33C3F03FFD7F4F4DD7E9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM> <CAOtMX2gOZkg3L8AawYiEhZX2JizuRTFYLiCE6eRvME=8cNXYaA@mail.gmail.com> <YQXPR0101MB096857C7E1A2250A913391F5DD7A9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Apr 2, 2021 at 4:16 PM Rick Macklem <rmacklem@uoguelph.ca> wrote: > 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. > All mounts were exactly version 4.1. However, I wasn't testing exactly the same Linux kernel version with 12.2 as I did with 13.0. That might be the difference. > > >* 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. > > -Alan >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2j%2B5pY_Lr4GTFc2FHSKqYzq3t2LkFQBty%2BUKZrk6O=0pA>