[PATCH 0/2] NFSv4/flexfiles: support loosely coupled data servers

From: Jeuk Kim

Date: Wed Jul 08 2026 - 03:46:24 EST


RFC 8435 allows a flexfiles data server to be loosely coupled, i.e. an
NFS server that does not advertise EXCHGID4_FLAG_USE_PNFS_DS via
EXCHANGE_ID. The client currently ignores the ffdv_tightly_coupled flag
and treats every DS as tightly coupled, so NFSv4.1+ I/O to a loosely
coupled DS fails during DS setup.

Patch 2 threads the decoded tightly_coupled flag down to the DS connect
path and, when it is false, skips the NFS_CS_PNFS flag and the
is_ds_client() check.

Patch 1 fixes pre-existing NFSv4.0 DS crashes on the same path (the DS
client has no session).

Jeuk Kim (2):
NFSv4/flexfiles: fix NULL dereference for NFSv4.0 data servers
NFSv4/flexfiles: support loosely coupled data servers

fs/nfs/filelayout/filelayoutdev.c | 2 +-
fs/nfs/flexfilelayout/flexfilelayout.c | 3 ++-
fs/nfs/flexfilelayout/flexfilelayoutdev.c | 3 ++-
fs/nfs/internal.h | 3 ++-
fs/nfs/nfs4client.c | 5 +++--
fs/nfs/nfs4session.c | 21 ++++++++++++++-------
fs/nfs/nfs4session.h | 3 ++-
fs/nfs/pnfs.h | 3 ++-
fs/nfs/pnfs_nfs.c | 14 +++++++++-----
9 files changed, 37 insertions(+), 20 deletions(-)

--
2.43.0