[PATCH 0/2] NFSv4.x client improvements for knfsd re-exporting

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Trond Myklebust <trond.myklebust@xxxxxxxxxxxxxxx>

When re-exporting a NFSv4.x filesystem through knfsd, we want to ensure
that the individual knfsd threads don't get stuck waiting for the server
in a NFS4ERR_DELAY loop. While it may make sense to have the re-exported
client retry a few times, particularly when the clients are using NFSv3,
ultimately we want to just punt a EAGAIN back to knfsd, so that it can
return NFS4ERR_DELAY/NFS3ERR_JUKEBOX, and free up the thread.

With that in mind, add a client module parameter, 'delay_retrans', that
specifies how many times a 'softerr' mounted NFSv4 filesystem should
retry before returning EAGAIN.
In order to avoid disrupting existing setups, the feature is disabled by
default, however it can be enabled by specifying a positive value for
the new parameter.

Trond Myklebust (2):
  NFSv4: Add a parameter to limit the number of retries after
    NFS4ERR_DELAY
  NFSv4/pnfs: Allow layoutget to return EAGAIN for softerr mounts

 .../admin-guide/kernel-parameters.txt         |  7 +++
 fs/nfs/nfs4_fs.h                              |  2 +
 fs/nfs/nfs4proc.c                             | 43 +++++++++++++++----
 fs/nfs/pnfs.c                                 |  8 +++-
 fs/nfs/pnfs.h                                 |  5 ++-
 fs/nfs/super.c                                |  8 +++-
 fs/nfs/write.c                                |  2 +
 7 files changed, 63 insertions(+), 12 deletions(-)

-- 
2.41.0




[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux