[PATCH 0/2] NFSv4/flexfiles: support loosely coupled data servers
Jeuk Kim <[email protected]>
| Newsgroups | gmane.linux.kernel,gmane.linux.nfs |
|---|---|
| Message-ID | <[email protected]> |
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