mbox series

[v2,00/10] Assorted patches for knfsd

Message ID 20211219013803.324724-1-trondmy@kernel.org (mailing list archive)
Headers show
Series Assorted patches for knfsd | expand

Message

Trond Myklebust Dec. 19, 2021, 1:37 a.m. UTC
From: Trond Myklebust <trond.myklebust@hammerspace.com>

The following patchset is mainly for improving support for re-exporting
NFSv4 as NFSv3. However it also includes one generic bugfix for NFSv3 to
allow zero length writes. It also improves the writeback performance by
replacing the rwsem with a lock-free errseq_t-based method.


- v2: Split patch adding WCC support
  v2: Rebase onto v5.16-rc5

Jeff Layton (3):
  nfsd: Add errno mapping for EREMOTEIO
  nfsd: Retry once in nfsd_open on an -EOPENSTALE return
  nfsd: allow lockd to be forcibly disabled

Peng Tao (1):
  nfsd: map EBADF

Trond Myklebust (6):
  nfsd: Distinguish between required and optional NFSv3 post-op
    attributes
  nfs: Add export support for weak cache consistency attributes
  nfsd: NFSv3 should allow zero length writes
  nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
  nfsd: Replace use of rwsem with errseq_t
  nfsd: Ignore rpcbind errors on nfsd startup

 fs/nfs/export.c                | 24 ++++++++++
 fs/nfsd/filecache.c            |  1 -
 fs/nfsd/filecache.h            |  1 -
 fs/nfsd/nfs3xdr.c              | 83 ++++++++++++++++++++++-----------
 fs/nfsd/nfs4proc.c             | 18 +++----
 fs/nfsd/nfs4xdr.c              |  6 +--
 fs/nfsd/nfsctl.c               |  7 ++-
 fs/nfsd/nfsd.h                 |  1 +
 fs/nfsd/nfsproc.c              |  3 ++
 fs/nfsd/nfssvc.c               | 29 +++++++++++-
 fs/nfsd/trace.h                | 50 ++++++++++++++++++++
 fs/nfsd/vfs.c                  | 85 +++++++++++++++++++++++-----------
 fs/nfsd/vfs.h                  |  8 ++--
 include/linux/exportfs.h       |  3 ++
 include/linux/sunrpc/svcsock.h |  5 +-
 net/sunrpc/svc.c               |  2 +-
 net/sunrpc/svcsock.c           | 14 +++---
 17 files changed, 257 insertions(+), 83 deletions(-)

Comments

Chuck Lever Dec. 21, 2021, 6:10 p.m. UTC | #1
Hi-

> On Dec 18, 2021, at 8:37 PM, trondmy@kernel.org wrote:
> 
> From: Trond Myklebust <trond.myklebust@hammerspace.com>
> 
> The following patchset is mainly for improving support for re-exporting
> NFSv4 as NFSv3. However it also includes one generic bugfix for NFSv3 to
> allow zero length writes. It also improves the writeback performance by
> replacing the rwsem with a lock-free errseq_t-based method.
> 
> 
> - v2: Split patch adding WCC support
>  v2: Rebase onto v5.16-rc5


I've replaced the following patch. Thank you for the bug report.

>  nfsd: NFSv3 should allow zero length writes

I've provisionally applied the following five to for-next while
tests are in progress:

>  nfsd: map EBADF
>  nfsd: Add errno mapping for EREMOTEIO
>  nfsd: Retry once in nfsd_open on an -EOPENSTALE return
>  nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
>  nfsd: Replace use of rwsem with errseq_t


The following two are still open for discussion. I get where you
want to go, just a quibble about exactly how to get there.

>  nfsd: Distinguish between required and optional NFSv3 post-op
>    attributes
>  nfs: Add export support for weak cache consistency attributes


The following two are deferred. IMHO they are not ready.

>  nfsd: allow lockd to be forcibly disabled
>  nfsd: Ignore rpcbind errors on nfsd startup

When reposting, you can leave out the patches that have already
been applied.


--
Chuck Lever