Received: by 2002:a25:824b:0:0:0:0:0 with SMTP id d11csp4117860ybn; Fri, 27 Sep 2019 16:56:37 -0700 (PDT) X-Google-Smtp-Source: APXvYqzKaQTantg6mmib5hSF3sl3+OtZh4lTuISAZkJnpd5aWRfw6nPacEFOKOpWl4FmqLHUPldp X-Received: by 2002:a17:906:6d53:: with SMTP id a19mr10097080ejt.144.1569628597814; Fri, 27 Sep 2019 16:56:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1569628597; cv=none; d=google.com; s=arc-20160816; b=VoZkiQC+TsB8ziIBOOuLepXiVlNsDRLY3fzxC4l+WfEd+ygCNXU77kkdjuP/IGZCD2 UuKhhqXMx4wu7yzsgPtAv04tDeYvQXNdqB/yrRyanVoPBBcN/gyDWvDLVT2UOS0RbL2t j5kybnrbDK9YPfecRlqK8+3iYTQUfd50NRitIb5n/0YpGP0lLbXCUC9MMbs6jTEKmR+Y w0/XbetZw4SOlhoqvbj93XXVF+52rJYaka4s9y/fsHMMwRGWJDcShCSY9GTlzVFVekVe HcAtrPvL2YC7dZvnDQbzUKxlEMGxw90reZWANe2VRDDB1osP6QIFab065bk5pcs+UCN1 8fCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=lys0NUvJMWHW2ON+EMRMYc9MrSGuU/WzZ2yQXXJkmbU=; b=UkVvr794LLg0ATWNnFYnFrGOBPTJXH9GhyGanpOeZB5wY5k2lkAGLR6rfpaQ4OzXzl PPWn2gsfV+kwPXao33Hf43a3HC7REwLLZTlmLrw2sqKosAIPG/UD+NNRhqt70YJGeKyE tnFV0OqaotFTIxbROu/8+a/9FEcQkq4zQnK/gqWLnd9a6cPnGDJnUPKSho0Jmp7eS8b1 dXNlYfiKHqM4n579zamQrtrx8Y3p5h4qcgWMJowzCU4SNh4mgOYwWW1KHoE1hA9GG4Ot /p8sNqgSGc7A8lSaH/+gMQrlabFuYbrtuwVK/EEXEKdrW/7pdyREAR1J33hMRWMngyNp 02vA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h48si2708835ede.31.2019.09.27.16.56.12; Fri, 27 Sep 2019 16:56:37 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726673AbfI0Xz4 (ORCPT + 99 others); Fri, 27 Sep 2019 19:55:56 -0400 Received: from fieldses.org ([173.255.197.46]:35976 "EHLO fieldses.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725306AbfI0Xzz (ORCPT ); Fri, 27 Sep 2019 19:55:55 -0400 Received: by fieldses.org (Postfix, from userid 2815) id 61F0B1BE7; Fri, 27 Sep 2019 19:55:54 -0400 (EDT) Date: Fri, 27 Sep 2019 19:55:54 -0400 From: "J. Bruce Fields" To: Linus Torvalds Cc: linux-nfs@vger.kernel.org, Linux Kernel Mailing List , Chuck Lever Subject: Re: [GIT PULL] nfsd changes for 5.4 Message-ID: <20190927235554.GA11051@fieldses.org> References: <20190927200838.GA2618@fieldses.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Sep 27, 2019 at 03:44:02PM -0700, Linus Torvalds wrote: > But then the actual code is just one single small commit: > > > Dave Wysochanski (1): > > SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist And that's also all that was in the diffstat in my pull message, but I somehow didn't notice. I must be tired.... > which doesn't actually match any of the things your description says > should be there. > > So I undid my pull - either the description is completely wrong, or > you tagged the wrong commit. Yes, the latter. I've redone the tag; the pull request should have been for: git://linux-nfs.org/~bfields/linux.git tags/nfsd-5.4 ---------------------------------------------------------------- Highlights: - add a new knfsd file cache, so that we don't have to open and close on each (NFSv2/v3) READ or WRITE. This can speed up read and write in some cases. It also replaces our readahead cache. - Prevent silent data loss on write errors, by treating write errors like server reboots for the purposes of write caching, thus forcing clients to resend their writes. - Tweak the code that allocates sessions to be more forgiving, so that NFSv4.1 mounts are less likely to hang when a server already has a lot of clients. - Eliminate an arbitrary limit on NFSv4 ACL sizes; they should now be limited only by the backend filesystem and the maximum RPC size. - Allow the server to enforce use of the correct kerberos credentials when a client reclaims state after a reboot. And some miscellaneous smaller bugfixes and cleanup. ---------------------------------------------------------------- Chuck Lever (2): svcrdma: Remove svc_rdma_wq svcrdma: Use llist for managing cache of recv_ctxts Colin Ian King (1): sunrpc: clean up indentation issue Dave Wysochanski (1): SUNRPC: Track writers of the 'channel' file to improve cache_listeners_exist J. Bruce Fields (4): Merge nfsd bugfixes nfsd: Remove unnecessary NULL checks Deprecate nfsd fault injection nfsd: eliminate an unnecessary acl size limit Jeff Layton (12): sunrpc: add a new cache_detail operation for when a cache is flushed locks: create a new notifier chain for lease attempts nfsd: add a new struct file caching facility to nfsd nfsd: hook up nfsd_write to the new nfsd_file cache nfsd: hook up nfsd_read to the nfsd_file cache nfsd: hook nfsd_commit up to the nfsd_file cache nfsd: convert nfs4_file->fi_fds array to use nfsd_files nfsd: convert fi_deleg_file and ls_file fields to nfsd_file nfsd: hook up nfs4_preprocess_stateid_op to the nfsd_file cache nfsd: have nfsd_test_lock use the nfsd_file cache nfsd: rip out the raparms cache nfsd: close cached files prior to a REMOVE or RENAME that would replace target NeilBrown (2): nfsd: handle drc over-allocation gracefully. nfsd: degraded slot-count more gracefully as allocation nears exhaustion. Scott Mayhew (2): nfsd: add a "GetVersion" upcall for nfsdcld nfsd: add support for upcall version 2 Trond Myklebust (9): notify: export symbols for use by the knfsd file cache vfs: Export flush_delayed_fput for use by knfsd. nfsd: Fix up some unused variable warnings nfsd: Fix the documentation for svcxdr_tmpalloc() nfsd: nfsd_file cache entries should be per net namespace nfsd: Support the server resetting the boot verifier nfsd: Don't garbage collect files that might contain write errors nfsd: Reset the boot verifier on all write I/O errors nfsd: fix nfs read eof detection YueHaibing (2): nfsd: remove duplicated include from filecache.c nfsd: Make nfsd_reset_boot_verifier_locked static fs/file_table.c | 1 + fs/locks.c | 62 ++ fs/nfsd/Kconfig | 3 +- fs/nfsd/Makefile | 3 +- fs/nfsd/acl.h | 8 - fs/nfsd/blocklayout.c | 3 +- fs/nfsd/export.c | 13 + fs/nfsd/filecache.c | 934 +++++++++++++++++++++++++++++++ fs/nfsd/filecache.h | 61 ++ fs/nfsd/netns.h | 4 + fs/nfsd/nfs3proc.c | 9 +- fs/nfsd/nfs3xdr.c | 13 +- fs/nfsd/nfs4callback.c | 35 +- fs/nfsd/nfs4layouts.c | 12 +- fs/nfsd/nfs4proc.c | 97 ++-- fs/nfsd/nfs4recover.c | 388 ++++++++++--- fs/nfsd/nfs4state.c | 239 ++++---- fs/nfsd/nfs4xdr.c | 56 +- fs/nfsd/nfsctl.c | 1 + fs/nfsd/nfsproc.c | 4 +- fs/nfsd/nfssvc.c | 48 +- fs/nfsd/state.h | 13 +- fs/nfsd/trace.h | 140 +++++ fs/nfsd/vfs.c | 351 +++++------- fs/nfsd/vfs.h | 37 +- fs/nfsd/xdr3.h | 2 +- fs/nfsd/xdr4.h | 19 +- fs/notify/fsnotify.h | 2 - fs/notify/group.c | 2 + fs/notify/mark.c | 6 + include/linux/fs.h | 5 + include/linux/fsnotify_backend.h | 2 + include/linux/sunrpc/cache.h | 7 +- include/linux/sunrpc/svc_rdma.h | 6 +- include/uapi/linux/nfsd/cld.h | 41 +- net/sunrpc/cache.c | 15 +- net/sunrpc/svc.c | 4 +- net/sunrpc/xprtrdma/svc_rdma.c | 7 - net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 24 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 6 +- 40 files changed, 2083 insertions(+), 600 deletions(-) create mode 100644 fs/nfsd/filecache.c create mode 100644 fs/nfsd/filecache.h