All of lore.kernel.org
 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 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.