2021-12-19 01:44:52

by Trond Myklebust

[permalink] [raw]
Subject: [PATCH v2 00/10] Assorted patches for knfsd

From: Trond Myklebust <[email protected]>

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(-)

--
2.33.1



2021-12-21 18:10:24

by Chuck Lever III

[permalink] [raw]
Subject: Re: [PATCH v2 00/10] Assorted patches for knfsd

Hi-

> On Dec 18, 2021, at 8:37 PM, [email protected] wrote:
>
> From: Trond Myklebust <[email protected]>
>
> 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