From: "Mkrtchyan, Tigran" <tigran.mkrtchyan@desy.de>
To: Rick Macklem <rick.macklem@gmail.com>
Cc: Jeff Layton <jlayton@kernel.org>, Chuck Lever <cel@kernel.org>,
NeilBrown <neil@brown.name>,
Olga Kornievskaia <okorniev@redhat.com>,
Dai Ngo <Dai.Ngo@oracle.com>, Tom Talpey <tom@talpey.com>,
Tom Haynes <thomas.haynes@hammerspace.com>,
linux-nfs <linux-nfs@vger.kernel.org>,
linux-kernel <linux-kernel@vger.kernel.org>,
Benji Wiebe <itsme@benjiwiebe.com>
Subject: Re: [PATCH] nfsd: don't offer flexfiles layouts when NFSv3 isn't being served
Date: Sat, 5 Sep 2026 16:37:03 +0200 (CEST) [thread overview]
Message-ID: <1805277599.19343755.1788619023447.JavaMail.zimbra@desy.de> (raw)
In-Reply-To: <CAM5tNy7Yjk=mm9rq9YUuYF6LEd2v2tp3p3unDxgEv8xU4oXO0Q@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 3313 bytes --]
Hi Rick,
our server runs with v4.1 DSes whenissues FF layouts.
The patch is touching server side only, so I hope the
client side still works as expected. For quite some time
I had submitted a patch[0] that decomples ff layout driver
from v3 client so that client still can use v4.1 DSes
ever if v3 client in not compiled.
[0]: a68c6fbb638a "nfs41: drop dependency between flexfiles layout driver and NFSv3 modules"
Best regards,
Tigran.
----- Original Message -----
> From: "Rick Macklem" <rick.macklem@gmail.com>
> To: "Jeff Layton" <jlayton@kernel.org>
> Cc: "Chuck Lever" <cel@kernel.org>, "NeilBrown" <neil@brown.name>, "Olga Kornievskaia" <okorniev@redhat.com>, "Dai Ngo"
> <Dai.Ngo@oracle.com>, "Tom Talpey" <tom@talpey.com>, "Tom Haynes" <thomas.haynes@hammerspace.com>, "linux-nfs"
> <linux-nfs@vger.kernel.org>, "linux-kernel" <linux-kernel@vger.kernel.org>, "Benji Wiebe" <itsme@benjiwiebe.com>
> Sent: Friday, 4 September, 2026 21:04:18
> Subject: Re: [PATCH] nfsd: don't offer flexfiles layouts when NFSv3 isn't being served
> On Fri, Sep 4, 2026 at 9:50 AM Jeff Layton <jlayton@kernel.org> wrote:
>>
>> The flexfiles layout driver hands out a deviceinfo that names this server
>> as an NFSv3 DS (flexfilelayout.c hardcodes da->version = 3). With v3
>> disabled, the client can't talk to the DS: it loops on v3 NULL calls that
>> the server answers with PROG_MISMATCH, and I/O hangs in D state.
>>
>> Skip LAYOUT_FLEX_FILES in nfsd4_setup_layout_type() unless v3 is enabled.
>>
>> Reported-by: Benji Wiebe <itsme@benjiwiebe.com>
>> Closes:
>> https://lore.kernel.org/linux-nfs/c734eeb8-8486-4491-bb4d-b9656cbaffbe@app.fastmail.com/
>> Fixes: 9b9960a0ca47 ("nfsd: Add a super simple flex file server")
>> Assisted-by: LLM
>> Signed-off-by: Jeff Layton <jlayton@kernel.org>
>> ---
>> fs/nfsd/nfs4layouts.c | 4 +++-
>> 1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/fs/nfsd/nfs4layouts.c b/fs/nfsd/nfs4layouts.c
>> index 22bcb6d09f70..cef4d40c89a2 100644
>> --- a/fs/nfsd/nfs4layouts.c
>> +++ b/fs/nfsd/nfs4layouts.c
>> @@ -127,10 +127,12 @@ nfsd4_set_deviceid(struct nfsd4_deviceid *id, const struct
>> svc_fh *fhp,
>>
>> void nfsd4_setup_layout_type(struct svc_export *exp)
>> {
>> + struct nfsd_net *nn = net_generic(exp->cd->net, nfsd_net_id);
>> struct super_block *sb = exp->ex_path.mnt->mnt_sb;
>> expfs_block_layouts_t block_supported = exportfs_layouts_supported(sb);
>>
>> - if (IS_ENABLED(CONFIG_NFSD_FLEXFILELAYOUT))
>> + if (IS_ENABLED(CONFIG_NFSD_FLEXFILELAYOUT) &&
>> + nfsd_vers(nn, 3, NFSD_TEST))
>> exp->ex_layout_types |= 1 << LAYOUT_FLEX_FILES;
>> if (IS_ENABLED(CONFIG_NFSD_BLOCKLAYOUT) &&
>> (block_supported & EXPFS_BLOCK_IN_BAND_ID))
> Although most ffv1 servers use NFSv3 DSs, it is possible for an ffv1
> layout to specify NFSv4.
>
> rick
> ps: I don't know how you'd check to see if the layout will be an
> NFSv3 one. (If the server only does NFSv3 layouts, then I'd
> guess this patch is ok?)
>
>>
>> ---
>> base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
>> change-id: 20260904-pnfs-ff-485ac21042a6
>>
>> Best regards,
>> --
>> Jeff Layton <jlayton@kernel.org>
>>
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 2309 bytes --]
prev parent reply other threads:[~2026-09-05 14:42 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 16:11 [PATCH] nfsd: don't offer flexfiles layouts when NFSv3 isn't being served Jeff Layton
2026-09-04 17:47 ` Chuck Lever
2026-09-04 19:04 ` Rick Macklem
2026-09-05 14:37 ` Mkrtchyan, Tigran [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1805277599.19343755.1788619023447.JavaMail.zimbra@desy.de \
--to=tigran.mkrtchyan@desy.de \
--cc=Dai.Ngo@oracle.com \
--cc=cel@kernel.org \
--cc=itsme@benjiwiebe.com \
--cc=jlayton@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=neil@brown.name \
--cc=okorniev@redhat.com \
--cc=rick.macklem@gmail.com \
--cc=thomas.haynes@hammerspace.com \
--cc=tom@talpey.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.