Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 2021 15:59:49 -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:  <CAOtMX2gOZkg3L8AawYiEhZX2JizuRTFYLiCE6eRvME=8cNXYaA@mail.gmail.com>
In-Reply-To: <YQXPR0101MB0968CD19A33C3F03FFD7F4F4DD7E9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>
References:  <YQXPR0101MB0968CD19A33C3F03FFD7F4F4DD7E9@YQXPR0101MB0968.CANPRD01.PROD.OUTLOOK.COM>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Mar 29, 2021 at 3:52 PM Rick Macklem <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.
* 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.

I haven't tried backporting the patch to 12.2 yet.
-Alan



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