2018-10-30 19:24:08

by J. Bruce Fields

[permalink] [raw]
Subject: [GIT PULL] nfsd changes for 4.20

Please pull nfsd changes for 4.20:

git://linux-nfs.org/~bfields/linux.git tags/nfsd-4.20

Olga added support for the NFSv4.2 asynchronous copy protocol. We
already supported COPY, by copying a limited amount of data and then
returning a short result, letting the client resend. The asynchronous
protocol should offer better performance at the expense of some
complexity.

The other highlight is Trond's work to convert the duplicate reply cache
to a red-black tree, and to move it and some other server caches to RCU.
(Previously these have meant taking global spinlocks on every RPC.)

Otherwise, some RDMA work and miscellaneous bugfixes.

--b.

Amir Goldstein (1):
lockd: fix access beyond unterminated strings in prints

Andrew Elble (1):
nfsd: correctly decrement odstate refcount in error path

Chuck Lever (4):
svcrdma: Reduce max_send_sges
svcrdma: Remove ->release_rqst call in bc reply handler
svcrdma: Remove try_module_get from backchannel
svcrdma: Increase the default connection credit limit

Gustavo A. R. Silva (1):
nfsd: fix fall-through annotations

Olga Kornievskaia (4):
NFSD CB_OFFLOAD xdr
NFSD OFFLOAD_STATUS xdr
NFSD OFFLOAD_CANCEL xdr
NFSD introduce async copy feature

Trond Myklebust (18):
SUNRPC: Remove the server 'authtab_lock' and just use RCU
SUNRPC: Add lockless lookup of the server's auth domain
SUNRPC: Refactor sunrpc_cache_lookup
SUNRPC: Allow cache lookups to use RCU protection rather than the r/w spinlock
SUNRPC: Make server side AUTH_UNIX use lockless lookups
knfsd: Allow lockless lookups of the exports
SUNRPC: Lockless server RPCSEC_GSS context lookup
knfsd: Lockless lookup of NFSv4 identities.
NFS: Lockless DNS lookups
NFS: Fix up a typo in nfs_dns_ent_put
SUNRPC: Remove non-RCU protected lookup
SUNRPC: Replace the cache_detail->hash_lock with a regular spinlock
SUNRPC: Simplify TCP receive code
knfsd: Remove dead code from nfsd_cache_lookup
knfsd: Simplify NFS duplicate replay cache
knfsd: Further simplify the cache lookup
knfsd: Improve lookup performance in the duplicate reply cache using an rbtree
nfsd: Fix an Oops in free_session()

YueHaibing (1):
nfsd: remove set but not used variable 'dirp'

Documentation/filesystems/nfs/rpc-cache.txt | 6 +-
fs/lockd/host.c | 2 +-
fs/nfs/dns_resolve.c | 15 +-
fs/nfsd/cache.h | 20 +-
fs/nfsd/export.c | 14 +-
fs/nfsd/export.h | 2 +
fs/nfsd/netns.h | 8 +
fs/nfsd/nfs4callback.c | 98 ++++++++++
fs/nfsd/nfs4idmap.c | 11 +-
fs/nfsd/nfs4proc.c | 289 ++++++++++++++++++++++++++--
fs/nfsd/nfs4state.c | 41 +++-
fs/nfsd/nfs4xdr.c | 50 ++++-
fs/nfsd/nfscache.c | 142 +++++++-------
fs/nfsd/nfsctl.c | 1 +
fs/nfsd/state.h | 10 +
fs/nfsd/vfs.c | 5 +-
fs/nfsd/xdr4.h | 28 +++
fs/nfsd/xdr4cb.h | 10 +
include/linux/sunrpc/cache.h | 18 +-
include/linux/sunrpc/svc_rdma.h | 13 +-
include/linux/sunrpc/svcauth.h | 1 +
net/sunrpc/auth_gss/svcauth_gss.c | 41 +++-
net/sunrpc/cache.c | 153 +++++++++------
net/sunrpc/svc_xprt.c | 2 +-
net/sunrpc/svcauth.c | 74 +++++--
net/sunrpc/svcauth_unix.c | 24 ++-
net/sunrpc/svcsock.c | 53 ++---
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 23 +--
net/sunrpc/xprtrdma/svc_rdma_transport.c | 10 +-
29 files changed, 858 insertions(+), 306 deletions(-)


2018-10-30 20:23:46

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] nfsd changes for 4.20

On Tue, Oct 30, 2018 at 12:17 PM J. Bruce Fields <[email protected]> wrote:
>
> Please pull nfsd changes for 4.20:

Pulled,

Linus

2018-10-30 20:25:57

by Linus Torvalds

[permalink] [raw]
Subject: Re: [GIT PULL] nfsd changes for 4.20

On Tue, Oct 30, 2018 at 12:55 PM Linus Torvalds
<[email protected]> wrote:
>
> Pulled,

Oh, I take that back. Semantic conflict with locking name change
(recv_lock -> queue_lock) and new code in

net/sunrpc/xprtrdma/svc_rdma_backchannel.c

exposed by my build test.

And looking around, it was reported in linux-next, but you didn't
mention it, which kind of makes the whole reporting pointless.

Guys, what is the point of linux-next if you then don't *react* to it?
The correct reaction is to say during the merge window that "hey,
linux-next showed this issue", just so that I know about it and it
doesn't take me by surprise.

Yes, my normal build tests caught it, and I've fixed up my merge, but
this isn't how things are supposed to work.

Linus

2018-10-31 15:47:15

by J. Bruce Fields

[permalink] [raw]
Subject: Re: [GIT PULL] nfsd changes for 4.20

On Tue, Oct 30, 2018 at 01:06:58PM -0700, Linus Torvalds wrote:
> On Tue, Oct 30, 2018 at 12:55 PM Linus Torvalds
> <[email protected]> wrote:
> >
> > Pulled,
>
> Oh, I take that back. Semantic conflict with locking name change
> (recv_lock -> queue_lock) and new code in
>
> net/sunrpc/xprtrdma/svc_rdma_backchannel.c
>
> exposed by my build test.
>
> And looking around, it was reported in linux-next, but you didn't
> mention it, which kind of makes the whole reporting pointless.
>
> Guys, what is the point of linux-next if you then don't *react* to it?
> The correct reaction is to say during the merge window that "hey,
> linux-next showed this issue", just so that I know about it and it
> doesn't take me by surprise.
>
> Yes, my normal build tests caught it, and I've fixed up my merge, but
> this isn't how things are supposed to work.

Apologies, thanks for the correction.

I see Stephen Rothwell's message from October 5. I think at the time I
said "OK, looks minor, just something to mention in the pull request",
then forgot about it.

In future when that happens, I'll add some kind of reminder to my
request-pull script.

Stephen also sent a warning about a merge conflict with the vfs tree
(not merged yet, I think) but I assume that's not as big a deal since it
should actually show up at merge time, not build time:

http://lkml.kernel.org/r/[email protected]

--b.

2018-10-31 15:54:11

by Trond Myklebust

[permalink] [raw]
Subject: Re: [GIT PULL] nfsd changes for 4.20

On Wed, 2018-10-31 at 11:44 -0400, J. Bruce Fields wrote:

> Stephen also sent a warning about a merge conflict with the vfs tree
> (not merged yet, I think) but I assume that's not as big a deal since
> it
> should actually show up at merge time, not build time:
>
>
> http://lkml.kernel.org/r/[email protected]
>
> --b.

For the record, the same issue shows up in the client code in
net/sunrpc/xprtsock.c, and various people have Cced us with patches.
I've forwarded at least one such patch on to Al, so I'm assuming he
will fix things up before sending a pull request.

--
Trond Myklebust
Linux NFS client maintainer, Hammerspace
[email protected]