From patchwork Tue Apr 7 12:23:06 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Trond Myklebust X-Patchwork-Id: 11478037 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id EAC1A15AB for ; Tue, 7 Apr 2020 12:23:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 8B0D12063A for ; Tue, 7 Apr 2020 12:23:24 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=hammerspace.com header.i=@hammerspace.com header.b="YW9Y6ft9" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728566AbgDGMXX (ORCPT ); Tue, 7 Apr 2020 08:23:23 -0400 Received: from mail-co1nam11on2121.outbound.protection.outlook.com ([40.107.220.121]:28416 "EHLO NAM11-CO1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728306AbgDGMXX (ORCPT ); Tue, 7 Apr 2020 08:23:23 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ANfBAiNhIhF/XdESMwJ0b1G2BHfv8RKBF+y5+fvaE6id1jzr2FIvms+DJ3/3e45hqENoTg+DpJXqaLS4VA1gb0YPb/JuPiKL+aHr43IppNSa39Dvywyu4Bfzk1lJSoYETtTJzHQUcCtUL/bZqyr/hFRbzkWY+31bjCyRO3vnijZMIeTAiWq8+VQQoh3tF+CvS3RtgAzaATenXlfi93qrt2OtoLIK0eF4ablV8BCk/iIsoH7A7DTFqUUKkVgcSOW0nHxvbJGaeOJCsEw5I8G8R3+3njvxQTI/5Tp0JnF49HF9aAJMLPMZ7GXn+y3E043G4RReZuA+K7EWqNGLQbYaxA== 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=E1b5iKTba2zc0XMRc7JvtJdMm+fCT4H6iP/NfN8BQNI=; b=IpVuFW2yaIr37AvEPbQYX7OO2M3nW/4ew4R9TCRKvog0FMiEj9VvbDJGzB6J6Cz4FHzwLPWDS8bX1UZXA65mK+crINz9PiA9B2J2xlOQHg8k4pFpss5a9pQ5isQmbYAFBKbkdIEuTJ21g8HJ/NRqh35yIvTQY3OHRSikukXn1MNatBakOzN3+QIWVbOdwepyLM5BSzgY9YwfYsreMj6fzw7WraOy4ZqBbdSONNj5zVrsC4NSlFp5b5m0uk8ei/9K7G8LenRKPnqLqSZn96FuNyVDZgvWNlE/Jr+5R9pNxcWd+W2FENOfYzeO0Y/Rubk4hhM36VKc8tVoswae6JCESQ== 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=E1b5iKTba2zc0XMRc7JvtJdMm+fCT4H6iP/NfN8BQNI=; b=YW9Y6ft99Mlecg+J4s316nhJlZklEDwaezjWTkB4TqBGkSA6K47NylfUATQ4LcUBn5GVF59A/rowAOWd/HLTWkDlMuR6NxFOxU2jjY3fSVCJKpve8CQoczjaOz4kWpfOBCOwO/kFTfZwDudNcGvrD+KABXdy6LPUdUoGL7xYySE= Received: from CH2PR13MB3398.namprd13.prod.outlook.com (2603:10b6:610:2a::33) by CH2PR13MB3525.namprd13.prod.outlook.com (2603:10b6:610:21::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2900.15; Tue, 7 Apr 2020 12:23:06 +0000 Received: from CH2PR13MB3398.namprd13.prod.outlook.com ([fe80::9570:c1b8:9eb3:1c36]) by CH2PR13MB3398.namprd13.prod.outlook.com ([fe80::9570:c1b8:9eb3:1c36%7]) with mapi id 15.20.2900.012; Tue, 7 Apr 2020 12:23:06 +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 client changes for 5.7 Thread-Topic: [GIT PULL] Please pull NFS client changes for 5.7 Thread-Index: AQHWDNdKZk4r0BGmJEanaGOj3aPghA== Date: Tue, 7 Apr 2020 12:23:06 +0000 Message-ID: <1b03a9c180bb1b7a0bef4de40c82e84cb6cb1740.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.36.133.222] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c3f26824-6cfd-4d1e-9bf5-08d7daee6d2f x-ms-traffictypediagnostic: CH2PR13MB3525: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:142; x-forefront-prvs: 036614DD9C x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR13MB3398.namprd13.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(10019020)(39830400003)(396003)(346002)(136003)(376002)(366004)(81156014)(8676002)(2906002)(76116006)(8936002)(86362001)(66476007)(66556008)(64756008)(66446008)(36756003)(71200400001)(66946007)(91956017)(6512007)(4326008)(6916009)(478600001)(6486002)(26005)(2616005)(81166006)(316002)(5660300002)(54906003)(6506007)(186003);DIR:OUT;SFP:1102; received-spf: None (protection.outlook.com: hammerspace.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zpZyHNFxIQZYIGpplMsIYwN0plW6H5hOTg91n5pOIdr2nfT89nouFy0LtQTT4R0vklDwriqHCFLDiAfd4dzizicilPQb+9/dhr2VvMW/7oFVWZO1SrKjIwRF0uvIEeviEtjLqMJepzQTOVUveIXJjEBGCZXFWxBEaa3393RdI5t1lbIK6vcDOZNuipHC/xYV1DWGtZM5KCho9uJG0SO5vmEiEd4Rhe4hIbeK1NZtpkKNFHtBBJaUkOHoY6yrWCh4T535POkB36OGlwgResO+Y0aRVlYOaC3Myjkt+ChjlTxh6nA8Gp+PAvLsMphtRBlvjHn5TcFWQObDVewtcTIE2NAd1/7V3fyO1WvRdTZdZj77t4pgPh56bZBDXSWgGPfpJCc7evsW3FgOJtU0ayvp+OS26k6MVylwEQCdpPvdo/vbFLHeXgBKi4HCSvqg2IHd x-ms-exchange-antispam-messagedata: xJS7tdzwZ0QC6b3PX99MDujzw5LqupaZXX4QscTQTe4fygTKnKOwDZJ0+j2sJpbg2oQ/f0iniPJNRqLSrLLTdLYFcohLRNat7OGNjh46RLiAVf/UI45RuRn23mWHdLeB5zn39LuJG6xgTvQY19enkQ== x-ms-exchange-transport-forked: True Content-ID: <6C53C570DB03764F885ACA654779474B@namprd13.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: hammerspace.com X-MS-Exchange-CrossTenant-Network-Message-Id: c3f26824-6cfd-4d1e-9bf5-08d7daee6d2f X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2020 12:23:06.3983 (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: sOXFw7vta0mYwzGtpiUKZM4wbiT1GS5tqBRMFufiFOGYEyk+xD/2wYQx5GhycFGi/jh/9khuhOsK34S42G9uWQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR13MB3525 Sender: linux-nfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-nfs@vger.kernel.org Hi Linus, The following changes since commit fb33c6510d5595144d585aa194d377cf74d31911: Linux 5.6-rc6 (2020-03-15 15:01:23 -0700) are available in the Git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.7-1 for you to fetch changes up to 93ce4af774bc3d8a72ce2271d03241c96383629d: NFS: Clean up process of marking inode stale. (2020-04-06 13:56:33 -0400) Cheers, Trond ---------------------------------------------------------------- NFS client updates for Linux 5.7 Highlights include: Stable fixes: - Fix a page leak in nfs_destroy_unlinked_subrequests() - Fix use-after-free issues in nfs_pageio_add_request() - Fix new mount code constant_table array definitions - finish_automount() requires us to hold 2 refs to the mount record Features: - Improve the accuracy of telldir/seekdir by using 64-bit cookies when possible. - Allow one RDMA active connection and several zombie connections to prevent blocking if the remote server is unresponsive. - Limit the size of the NFS access cache by default - Reduce the number of references to credentials that are taken by NFS - pNFS files and flexfiles drivers now support per-layout segment COMMIT lists. - Enable partial-file layout segments in the pNFS/flexfiles driver. - Add support for CB_RECALL_ANY to the pNFS flexfiles layout type - pNFS/flexfiles Report NFS4ERR_DELAY and NFS4ERR_GRACE errors from the DS using the layouterror mechanism. Bugfixes and cleanups: - SUNRPC: Fix krb5p regressions - Don't specify NFS version in "UDP not supported" error - nfsroot: set tcp as the default transport protocol - pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() - alloc_nfs_open_context() must use the file cred when available - Fix locking when dereferencing the delegation cred - Fix memory leaks in O_DIRECT when nfs_get_lock_context() fails - Various clean ups of the NFS O_DIRECT commit code - Clean up RDMA connect/disconnect - Replace zero-length arrays with C99-style flexible arrays ---------------------------------------------------------------- Chuck Lever (15): sunrpc: Fix gss_unwrap_resp_integ() again SUNRPC: Remove xdr_buf_read_mic() SUNRPC: Trim stack utilization in the wrap and unwrap paths xprtrdma: Enhance MR-related trace points xprtrdma: Invoke rpcrdma_ep_create() in the connect worker xprtrdma: Refactor frwr_init_mr() xprtrdma: Clean up the post_send path xprtrdma: Refactor rpcrdma_ep_connect() and rpcrdma_ep_disconnect() xprtrdma: Allocate Protection Domain in rpcrdma_ep_create() xprtrdma: Invoke rpcrdma_ia_open in the connect worker xprtrdma: Remove rpcrdma_ia::ri_flags xprtrdma: Disconnect on flushed completion xprtrdma: Merge struct rpcrdma_ia into struct rpcrdma_ep xprtrdma: Extract sockaddr from struct rdma_cm_id xprtrdma: kmalloc rpcrdma_ep separate from rpcrdma_xprt Colin Ian King (1): SUNRPC: remove redundant assignments to variable status Gustavo A. R. Silva (1): nfs: Replace zero-length array with flexible-array member Liwei Song (1): nfsroot: set tcp as the default transport protocol Misono Tomohiro (1): NFS: direct.c: Fix memory leak of dreq when nfs_get_lock_context fails Murphy Zhou (1): NFSv4.2: error out when relink swapfile Olga Kornievskaia (1): SUNRPC: fix krb5p mount to provide large enough buffer in rq_rcvsize Petr Vorel (1): NFS: Don't specify NFS version in "UDP not supported" error Scott Mayhew (1): NFS: Fix a few constant_table array definitions Trond Myklebust (63): NFS: Use the 64-bit server readdir cookies when possible NFSv4: nfs_update_inplace_delegation() should update delegation cred NFSv4/pnfs: pnfs_set_layout_stateid() should update the layout cred NFS: Ensure we time out if a delegreturn does not complete NFS: alloc_nfs_open_context() must use the file cred when available SUNRPC: Add a flag to avoid reference counts on credentials SUNRPC: Don't take a reference to the cred on synchronous tasks NFS: Assume cred is pinned by open context in I/O requests NFSv4: Avoid referencing the cred unnecessarily during NFSv4 I/O NFSv4: Avoid unnecessary credential references in layoutget NFS: Avoid referencing the cred twice in async rename/unlink NFS: Limit the size of the access cache by default pNFS/flexfiles: Report DELAY and GRACE errors from the DS to the server NFSv4/pnfs: Return valid stateids in nfs_layout_find_inode_by_stateid() NFSv4: Ensure layout headers are RCU safe NFSv4/pnfs: Clean up nfs_layout_find_inode() NFS: Add a helper nfs_client_for_each_server() NFSv4: Clean up nfs_client_return_marked_delegations() NFSv4: Clean up nfs_delegation_reap_unclaimed() NFSv4: Clean up nfs_delegation_reap_expired() NFSv4: Add support for CB_RECALL_ANY for flexfiles layouts nfs: Fix up documentation in nfs_follow_referral() and nfs_do_submount() pNFS/flexfiles: Simplify allocation of the mirror array NFS/pNFS: Refactor pnfs_generic_commit_pagelist() pNFS: Add a helper to allocate the array of buckets NFSv4/pnfs: Support a list of commit arrays in struct pnfs_ds_commit_info NFSv4/pNFS: Scan the full list of commit arrays when committing pNFS: Support per-layout segment commits in pnfs_generic_recover_commit_reqs() pNFS: Support per-layout segment commits in pnfs_generic_commit_pagelist() NFS/pNFS: Allow O_DIRECT to release the DS commitinfo NFS: commit errors should be fatal NFS: Fix O_DIRECT commit verifier handling NFS/pNFS: Support commit arrays in nfs_clear_pnfs_ds_commit_verifiers() pNFS: Add infrastructure for cleaning up per-layout commit structures pNFS: Enable per-layout segment commit structures NFS/pNFS: Add a helper pnfs_generic_search_commit_reqs() NFS: Remove bucket array from struct pnfs_ds_commit_info NFS/pNFS: Clean up pNFS commit operations NFS/pNFS: Simplify bucket layout segment reference counting NFS/pNFS: Fix pnfs_layout_mark_request_commit() invalid layout segment handling pNFS/flexfile: Don't merge layout segments if the mirrors don't match pNFS/flexfiles: Check the layout segment range before doing I/O pNFS/flexfiles: remove requirement for whole file layouts pNFS/flexfiles: Specify the layout segment range in LAYOUTGET NFS: Remove unused FLUSH_SYNC support in nfs_initiate_pgio() Merge tag 'nfs-rdma-for-5.7-1' of git://git.linux-nfs.org/projects/anna/linux-nfs NFS: Fix a page leak in nfs_destroy_unlinked_subrequests() NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() NFS: Fix use-after-free issues in nfs_pageio_add_request() NFS: Fix a request reference leak in nfs_direct_write_clear_reqs() NFS: Fix memory leaks in nfs_pageio_stop_mirroring() NFS: Remove the redundant function nfs_pgio_has_mirroring() NFS: Clean up nfs_lock_and_join_requests() NFS: Reverse the submission order of requests in __nfs_pageio_add_request() NFS: Refactor nfs_lock_and_join_requests() NFS: Try to join page groups before an O_DIRECT retransmission NFS: finish_automount() requires us to hold 2 refs to the mount record NFS: Add a module parameter to set nfs_mountpoint_expiry_timeout NFS: Beware when dereferencing the delegation cred NFS/pnfs: Fix dereference of layout cred in pnfs_layoutcommit_inode() NFS/pnfs: Reference the layout cred in pnfs_prepare_layoutreturn() SUNRPC: Don't start a timer on an already queued rpc task NFS: Clean up process of marking inode stale. Zhouyi Zhou (1): NFS:remove redundant call to nfs_do_access fs/nfs/blocklayout/blocklayout.c | 2 +- fs/nfs/callback.h | 4 +- fs/nfs/callback_proc.c | 69 ++-- fs/nfs/delegation.c | 319 +++++++-------- fs/nfs/dir.c | 79 ++-- fs/nfs/direct.c | 197 ++++------ fs/nfs/filelayout/filelayout.c | 165 +++----- fs/nfs/flexfilelayout/flexfilelayout.c | 229 +++++------ fs/nfs/flexfilelayout/flexfilelayout.h | 2 +- fs/nfs/fs_context.c | 9 +- fs/nfs/inode.c | 28 +- fs/nfs/internal.h | 36 +- fs/nfs/namespace.c | 67 +++- fs/nfs/nfs4_fs.h | 4 +- fs/nfs/nfs4file.c | 3 + fs/nfs/nfs4namespace.c | 2 +- fs/nfs/nfs4proc.c | 19 +- fs/nfs/nfs4state.c | 24 +- fs/nfs/nfs4trace.h | 8 +- fs/nfs/nfsroot.c | 2 +- fs/nfs/nfstrace.h | 1 + fs/nfs/pagelist.c | 367 +++++++++++------- fs/nfs/pnfs.c | 241 +++++++++--- fs/nfs/pnfs.h | 143 +++++-- fs/nfs/pnfs_nfs.c | 514 ++++++++++++++++++------- fs/nfs/read.c | 2 +- fs/nfs/super.c | 35 ++ fs/nfs/unlink.c | 4 +- fs/nfs/write.c | 276 +++++++------ include/linux/nfs_fs.h | 1 + include/linux/nfs_page.h | 5 + include/linux/nfs_xdr.h | 32 +- include/linux/sunrpc/sched.h | 1 + include/linux/sunrpc/xdr.h | 1 - include/trace/events/rpcrdma.h | 153 +++----- net/sunrpc/auth_gss/auth_gss.c | 94 +++-- net/sunrpc/clnt.c | 8 +- net/sunrpc/sched.c | 22 +- net/sunrpc/xdr.c | 55 --- net/sunrpc/xprtrdma/backchannel.c | 8 +- net/sunrpc/xprtrdma/frwr_ops.c | 154 ++++---- net/sunrpc/xprtrdma/rpc_rdma.c | 32 +- net/sunrpc/xprtrdma/transport.c | 72 ++-- net/sunrpc/xprtrdma/verbs.c | 683 ++++++++++++--------------------- net/sunrpc/xprtrdma/xprt_rdma.h | 89 ++--- net/sunrpc/xprtsock.c | 2 +- 46 files changed, 2305 insertions(+), 1958 deletions(-)