From patchwork Thu Jul 18 20:25:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 11049549 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1170F746 for ; Thu, 18 Jul 2019 20:25:11 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 01BCC2888A for ; Thu, 18 Jul 2019 20:25:11 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id EA0CE288C4; Thu, 18 Jul 2019 20:25:10 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.0 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0C2BA2888A for ; Thu, 18 Jul 2019 20:25:10 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2391581AbfGRUZJ (ORCPT ); Thu, 18 Jul 2019 16:25:09 -0400 Received: from mail-eopbgr820131.outbound.protection.outlook.com ([40.107.82.131]:8672 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1727687AbfGRUZJ (ORCPT ); Thu, 18 Jul 2019 16:25:09 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gBlTUc9uCk4OfuMwdEKHrat/34WpUitYJ1VUJsu0rVeqTjsk8m+56/lI0SqOzYIZDFXdcS4sgHPoUyK8Ru8hvRePop3dWh0WicBTZpyTHe2X/P0l3xxTh3bEEHkQEyBkHiZ/C75yI5iWSxt9dZmFlNbHPxYQHVQK76g9HgnPNFSQso9MiCaYNEMd/zioegufbWJJqndx0COzsix8BDyXci1SGe2G/iFQ+SLNOO4MYa6+b5EmV9MkH4XDXx4yK8cRylsqqmsNdmS+yt9UYbKzKcwjuX2r/b2KToHaBDkuhDKTK1EukDc+AWsyaZkYhEtoYsaKkZhwki2TNkcHPLmhlQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q/37HH/4WCOnc+mn18fTimdigu0hI3A3FRku7NS2CIM=; b=O5NukmQeUyxkUmT2viwVzHiM2bAH+Qq0668FJZjFBoopIYoYVQ+AVPIwE9HkLQPnJehBO51Hr5Yt/Um/3oKNFQcn4I0nAwh9pPIaeSKcekPb2wbfi8tYMK+s9PPZQvbEzJnxgSW46im8xajN6bf2b4Ncsz2wZawLZfvh2ciCVWkthwuZtRgDkloOYFo2WvYQOR/vML5DVWB2JUqRHLeywIWbSKlTUbrRz6c6NdqWMvtDluynZHRE/MI+MSprOUwqvTGrjGcPSG123XT8TNzT2bFEz3mhsPTOt5fJatqf1L/oVH7gjzO/lTlClIO9N784/ieoYKNnFaFgL0i7mVdang== ARC-Authentication-Results: i=1; mx.microsoft.com 1;spf=pass smtp.mailfrom=hammerspace.com;dmarc=pass action=none header.from=hammerspace.com;dkim=pass header.d=hammerspace.com;arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hammerspace.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Q/37HH/4WCOnc+mn18fTimdigu0hI3A3FRku7NS2CIM=; b=BndBh7jr8y46xFT1Yahy/UYjYNFdkXxf8vXPOAZUwedyHB26tBoo09NVyqqVwjGB6tyh/xGyy/NqBhVcRQJ0OstToXceumWUmD/parKOF4LsFNEEtpQESEipRckFp51oRmEc8ewZgi769SEaLTM6EE7J5gWERl1/dTMwUiX+GuY= Received: from DM5PR13MB1851.namprd13.prod.outlook.com (10.171.159.143) by DM5PR13MB1676.namprd13.prod.outlook.com (10.171.154.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2115.6; Thu, 18 Jul 2019 20:25:03 +0000 Received: from DM5PR13MB1851.namprd13.prod.outlook.com ([fe80::28ef:bf07:4680:dc93]) by DM5PR13MB1851.namprd13.prod.outlook.com ([fe80::28ef:bf07:4680:dc93%5]) with mapi id 15.20.2115.005; Thu, 18 Jul 2019 20:25:03 +0000 From: Trond Myklebust To: "torvalds@linux-foundation.org" CC: "linux-nfs@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: [GIT PULL] Please pull NFS changes for Linux 5.3 Thread-Topic: [GIT PULL] Please pull NFS changes for Linux 5.3 Thread-Index: AQHVPabhnzGKEYNl5Uy1JGaP2DrGNQ== Date: Thu, 18 Jul 2019 20:25:03 +0000 Message-ID: <333e896cf5bcadd8547fbe4a06388dd3104ff910.camel@hammerspace.com> Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=trondmy@hammerspace.com; x-originating-ip: [68.40.189.247] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 544ac7c2-83b2-4562-9381-08d70bbe042d x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600148)(711020)(4605104)(1401327)(2017052603328)(7193020);SRVR:DM5PR13MB1676; x-ms-traffictypediagnostic: DM5PR13MB1676: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3631; x-forefront-prvs: 01026E1310 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(396003)(346002)(136003)(376002)(366004)(39830400003)(189003)(199004)(118296001)(66476007)(7736002)(6436002)(6512007)(36756003)(5640700003)(86362001)(2351001)(6916009)(66066001)(476003)(2616005)(305945005)(2501003)(66946007)(66556008)(66446008)(64756008)(2906002)(5660300002)(76116006)(256004)(102836004)(6506007)(8676002)(26005)(486006)(186003)(478600001)(71200400001)(25786009)(316002)(99286004)(54906003)(8936002)(81166006)(81156014)(6116002)(3846002)(68736007)(53936002)(71190400001)(4326008)(6486002)(14454004)(1730700003)(14444005);DIR:OUT;SFP:1102;SCL:1;SRVR:DM5PR13MB1676;H:DM5PR13MB1851.namprd13.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: hammerspace.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: FlCaeBEVKLW6L6grOdtvSqL4/pkrUTbO7IWeLExq7izZOAfe5M0MdlkpHe3R+apPoMqahgEAI+dPFzqrD7LKMMoasQEISjI8GfC9wlTuZkntHhqIkx72pBJYa0hOw+5v46sYNRCfPtW8gb5dp04esuJLkw6fuPeJec9CRpYGd1tDxMRXtkicMhR5ydiD4dbZoMnWyMMx5mUuFqTyj61gTiotyEuz5xu/5j44SM6PVJ7a+a1uyR1YteU5JXWLkg7Bu2ut7XzBQTfWXCukq8vuZmL54U6uzdTCuRguWt4oGJJsCkpPKOaRm//9amQ1dBo4agOwBQoZILJd0mYTM9pTQ8dWWeNV8NGGYGaXwO8ukwM7d4APYqhvWxSHzhjvD62kL1f8iKAbCMuMa3C64BPBqJgSoTNCV5A4wrjiqunWoyg= Content-ID: <72CFEF62EA7E434782A26A9FF7092715@namprd13.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: 544ac7c2-83b2-4562-9381-08d70bbe042d X-MS-Exchange-CrossTenant-originalarrivaltime: 18 Jul 2019 20:25:03.6772 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 0d4fed5c-3a70-46fe-9430-ece41741f59e X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: trondmy@hammerspace.com X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR13MB1676 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hi Linus, The following changes since commit bcc0e65f47def010d8d1c4cf09bdc698fe061b77: Merge tag 'mips_fixes_5.2_2' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux (2019-07-06 10:32:12 -0700) are available in the Git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.3-1 for you to fetch changes up to d5b9216fd5114be4ed98ca9c1ecc5f164cd8cf5e: pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS (2019-07-18 15:50:28 -0400) ---------------------------------------------------------------- NFS client updates for Linux 5.3 Highlights include: Stable fixes: - SUNRPC: Ensure bvecs are re-synced when we re-encode the RPC request - Fix an Oops in ff_layout_track_ds_error due to a PTR_ERR() dereference - Revert buggy NFS readdirplus optimisation - NFSv4: Handle the special Linux file open access mode - pnfs: Fix a problem where we gratuitously start doing I/O through the MDS Features: - Allow NFS client to set up multiple TCP connections to the server using a new 'nconnect=X' mount option. Queue length is used to balance load. - Enhance statistics reporting to report on all transports when using multiple connections. - Speed up SUNRPC by removing bh-safe spinlocks - Add a mechanism to allow NFSv4 to request that containers set a unique per-host identifier for when the hostname is not set. - Ensure NFSv4 updates the lease_time after a clientid update Bugfixes and cleanup: - Fix use-after-free in rpcrdma_post_recvs - Fix a memory leak when nfs_match_client() is interrupted - Fix buggy file access checking in NFSv4 open for execute - disable unsupported client side deduplication - Fix spurious client disconnections - Fix occasional RDMA transport deadlock - Various RDMA cleanups - Various tracepoint fixes - Fix the TCP callback channel to guarantee the server can actually send the number of callback requests that was negotiated at mount time. ---------------------------------------------------------------- Anna Schumaker (1): SUNRPC: Drop redundant CONFIG_ from CONFIG_SUNRPC_DISABLE_INSECURE_ENCTYPES Benjamin Coddington (1): NFS: Cleanup if nfs_match_client is interrupted Chuck Lever (19): xprtrdma: Fix a BUG when tracing is enabled with NFSv4.1 on RDMA xprtrdma: Fix use-after-free in rpcrdma_post_recvs xprtrdma: Replace use of xdr_stream_pos in rpcrdma_marshal_req xprtrdma: Fix occasional transport deadlock xprtrdma: Remove the RPCRDMA_REQ_F_PENDING flag xprtrdma: Remove fr_state xprtrdma: Add mechanism to place MRs back on the free list xprtrdma: Reduce context switching due to Local Invalidation xprtrdma: Wake RPCs directly in rpcrdma_wc_send path xprtrdma: Simplify rpcrdma_rep_create xprtrdma: Streamline rpcrdma_post_recvs xprtrdma: Refactor chunk encoding xprtrdma: Remove rpcrdma_req::rl_buffer xprtrdma: Modernize ops->connect NFS4: Add a trace event to record invalid CB sequence IDs NFS: Fix show_nfs_errors macros again NFS: Display symbolic status code names in trace log NFS: Update symbolic flags displayed by trace events NFS: Record task, client ID, and XID in xdr_status trace points Darrick J. Wong (1): nfs: disable client side deduplication Dave Wysochanski (5): SUNRPC: Move call to rpc_count_iostats before rpc_call_done SUNRPC: Use proper printk specifiers for unsigned long long SUNRPC: Count ops completing with tk_status < 0 NFSv4: Add lease_time and lease_expired to 'nfs4:' line of mountstats SUNRPC: Fix possible autodisconnect during connect due to old last_used Donald Buczek (4): nfs: Fix copy-and-paste error in debug message nfs4: Make nfs4_proc_get_lease_time available for nfs4.0 nfs4: Rename nfs41_setup_state_renewal nfs4.0: Refetch lease_time after clientid update Markus Elfring (2): NFS: Use seq_putc() in nfs_show_stats() NFS: Replace 16 seq_printf() calls by seq_puts() Max Kellermann (1): Revert "NFS: readdirplus optimization by cache mechanism" (memleak) NeilBrown (3): NFS: send state management on a single connection. SUNRPC: enhance rpc_clnt_show_stats() to report on all xprts. SUNRPC: add links for all client xprts to debugfs Trond Myklebust (36): NFSv4: Handle open for execute correctly NFSv4: Handle the special Linux file open access mode SUNRPC: Replace the queue timer with a delayed work function SUNRPC: Replace direct task wakeups from softirq context SUNRPC: Remove the bh-safe lock requirement on xprt->transport_lock NFS: Create a root NFS directory in /sys/fs/nfs NFS: Cleanup - add nfs_clients_exit to mirror nfs_clients_init SUNRPC: Add basic load balancing to the transport switch SUNRPC: Remove the bh-safe lock requirement on the rpc_wait_queue->lock NFS: Add deferred cache invalidation for close-to-open consistency violations NFS: Add sysfs support for per-container identifier SUNRPC: Allow creation of RPC clients with multiple connections NFS: Add a mount option to specify number of TCP connections to use NFSv4: Allow multiple connections to NFSv4.x (x>0) servers pNFS: Allow multiple connections to the DS NFS: Display the "nconnect" mount option if it is set. NFS: Allow multiple connections to a NFSv2 or NFSv3 server Merge branch 'bh-remove' SUNRPC: Remove warning in debugfs.c when compiling with W=1 Merge branch 'cache_consistency' Merge branch 'containers' Merge branch 'multipath_tcp' NFS: Clean up writeback code Merge tag 'nfs-rdma-for-5.3-1' of git://git.linux-nfs.org/projects/anna/linux-nfs SUNRPC: Fix transport accounting when caller specifies an rpc_xprt NFSv4: Validate the stateid before applying it to state recovery SUNRPC: Replace division by multiplication in calculation of queue length SUNRPC: Skip zero-refcount transports SUNRPC: Fix initialisation of struct rpc_xprt_switch SUNRPC: Fix up backchannel slot table accounting NFSv4: Don't use the zero stateid with layoutget pnfs/flexfiles: Fix PTR_ERR() dereferences in ff_layout_track_ds_error SUNRPC: Ensure the bvecs are reset when we re-encode the RPC request SUNRPC: Optimise transport balancing code pnfs: Fix a problem where we gratuitously start doing I/O through the MDS pnfs/flexfiles: Add tracepoints for detecting pnfs fallback to MDS fs/nfs/Makefile | 3 +- fs/nfs/callback_proc.c | 28 ++- fs/nfs/client.c | 24 ++- fs/nfs/dir.c | 94 +-------- fs/nfs/flexfilelayout/flexfilelayout.c | 26 +++ fs/nfs/flexfilelayout/flexfilelayoutdev.c | 2 +- fs/nfs/inode.c | 30 ++- fs/nfs/internal.h | 7 +- fs/nfs/netns.h | 3 + fs/nfs/nfs2xdr.c | 2 +- fs/nfs/nfs3client.c | 3 + fs/nfs/nfs3xdr.c | 2 +- fs/nfs/nfs4_fs.h | 4 +- fs/nfs/nfs4client.c | 14 +- fs/nfs/nfs4file.c | 8 +- fs/nfs/nfs4proc.c | 80 +++++-- fs/nfs/nfs4state.c | 49 +++-- fs/nfs/nfs4trace.c | 8 + fs/nfs/nfs4trace.h | 283 ++++++++++++++++++------- fs/nfs/nfs4xdr.c | 16 +- fs/nfs/nfstrace.h | 233 ++++++++++++++------ fs/nfs/pagelist.c | 6 +- fs/nfs/pnfs.c | 20 +- fs/nfs/super.c | 57 +++-- fs/nfs/sysfs.c | 187 +++++++++++++++++ fs/nfs/sysfs.h | 25 +++ fs/nfs/write.c | 7 +- include/linux/nfs4.h | 1 + include/linux/nfs_fs.h | 2 + include/linux/nfs_fs_sb.h | 1 + include/linux/sunrpc/bc_xprt.h | 1 + include/linux/sunrpc/clnt.h | 4 + include/linux/sunrpc/metrics.h | 7 +- include/linux/sunrpc/sched.h | 4 +- include/linux/sunrpc/xprt.h | 10 +- include/linux/sunrpc/xprtmultipath.h | 2 + include/linux/sunrpc/xprtsock.h | 5 + include/trace/events/rpcrdma.h | 90 ++++++-- net/sunrpc/Kconfig | 2 +- net/sunrpc/backchannel_rqst.c | 40 ++-- net/sunrpc/clnt.c | 95 ++++++++- net/sunrpc/debugfs.c | 48 +++-- net/sunrpc/sched.c | 81 ++++--- net/sunrpc/stats.c | 23 +- net/sunrpc/svc.c | 2 +- net/sunrpc/xprt.c | 101 +++++---- net/sunrpc/xprtmultipath.c | 89 ++++++-- net/sunrpc/xprtrdma/backchannel.c | 7 + net/sunrpc/xprtrdma/frwr_ops.c | 327 +++++++++++++++++++---------- net/sunrpc/xprtrdma/rpc_rdma.c | 152 ++++++-------- net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 4 +- net/sunrpc/xprtrdma/svc_rdma_transport.c | 8 +- net/sunrpc/xprtrdma/transport.c | 84 ++++++-- net/sunrpc/xprtrdma/verbs.c | 115 +++++----- net/sunrpc/xprtrdma/xprt_rdma.h | 45 ++-- net/sunrpc/xprtsock.c | 126 +++++++---- 56 files changed, 1832 insertions(+), 865 deletions(-) create mode 100644 fs/nfs/sysfs.c create mode 100644 fs/nfs/sysfs.h