Linux NFS development
 help / color / mirror / Atom feed
* [PATCH 0/2] NFSv4/pnfs: Keep data server connections across deviceid eviction
@ 2026-09-18 12:21 Benjamin Coddington
  2026-09-18 12:21 ` [PATCH 1/2] NFSv4/pnfs: Give the data server cache its own reference Benjamin Coddington
  2026-09-18 12:21 ` [PATCH 2/2] NFSv4/pnfs: Let unused data server connections linger Benjamin Coddington
  0 siblings, 2 replies; 3+ messages in thread
From: Benjamin Coddington @ 2026-09-18 12:21 UTC (permalink / raw)
  To: Trond Myklebust, Anna Schumaker; +Cc: linux-nfs, Mike Snitzer

This applies on top of the flexfiles striping series:

  [PATCH v4 00/24] NFS: flexfiles device notifications and caching for
  wide striped layouts
  https://lore.kernel.org/linux-nfs/cover.1789474702.git.bcodding@hammerspace.com

and uses the hashed, address-keyed data server cache that series adds.

A metadata server that does not support deviceid notifications makes the
client set NFS_DEVICEID_NOCACHE, and a NOCACHE deviceid node is freed as
soon as the last layout referring to it is returned.  That takes the data
server's nfs_client and every transport underneath it along with it:

  nfs4_put_deviceid_node()
    ff_layout_free_deviceid_node()
      nfs4_pnfs_ds_put()
        destroy_ds()
          nfs_put_client()
            rpc_shutdown_client()

The next I/O rebuilds all of it: a synchronous connect and NULL ping
inline in pg_init(), plus the remaining nconnect-1 transports
reconnecting lazily as RPCs land on them.  I have a report of a wide
stripe at nconnect=16 spending upwards of ten seconds on this before I/O
can proceed, and paying it again on every layout cycle.

Keep the nfs4_pnfs_ds hashed once its last user goes away, and reap it later
if nothing claims it.

Benjamin Coddington (2):
  NFSv4/pnfs: Give the data server cache its own reference
  NFSv4/pnfs: Let unused data server connections linger

 fs/nfs/pnfs.c     |   4 +-
 fs/nfs/pnfs.h     |   4 ++
 fs/nfs/pnfs_nfs.c | 110 +++++++++++++++++++++++++++++++++++++++++++---
 3 files changed, 112 insertions(+), 6 deletions(-)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-18 12:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-18 12:21 [PATCH 0/2] NFSv4/pnfs: Keep data server connections across deviceid eviction Benjamin Coddington
2026-09-18 12:21 ` [PATCH 1/2] NFSv4/pnfs: Give the data server cache its own reference Benjamin Coddington
2026-09-18 12:21 ` [PATCH 2/2] NFSv4/pnfs: Let unused data server connections linger Benjamin Coddington

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox