Skip site navigation (1)Skip section navigation (2)
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>