|
|
Log in / Subscribe / Register

NFSv4/flexfiles: support loosely coupled data servers

From:  Jeuk Kim <jeuk20.kim-AT-gmail.com>
To:  Trond Myklebust <trondmy-AT-kernel.org>, Anna Schumaker <anna-AT-kernel.org>
Subject:  [PATCH 0/2] NFSv4/flexfiles: support loosely coupled data servers
Date:  Wed, 08 Jul 2026 16:44:31 +0900
Message-ID:  <20260708074433.390161-1-jeuk20.kim@samsung.com>
Cc:  linux-nfs-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, Tigran Mkrtchyan <tigran.mkrtchyan-AT-desy.de>, hui81.qi-AT-samsung.com, j-young.choi-AT-samsung.com, peng.yun-AT-samsung.com, qian01.li-AT-samsung.com, xing1.he-AT-samsung.com, jeuk20.kim-AT-samsung.com
Archive-link:  Article

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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds