From patchwork Thu Feb 6 22:36:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Schumaker, Anna" X-Patchwork-Id: 11369349 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 11F9A138D for ; Thu, 6 Feb 2020 22:36:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id CDF2E218AC for ; Thu, 6 Feb 2020 22:36:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=netapp.onmicrosoft.com header.i=@netapp.onmicrosoft.com header.b="FdOhZ4XC" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726673AbgBFWgy (ORCPT ); Thu, 6 Feb 2020 17:36:54 -0500 Received: from mail-mw2nam12on2069.outbound.protection.outlook.com ([40.107.244.69]:6120 "EHLO NAM12-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726536AbgBFWgx (ORCPT ); Thu, 6 Feb 2020 17:36:53 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Et45rtCxwcA5gIOIwItQsIwU5BfGJJfsgqagsMPikrN/gjY+ZUDxPJVXK0u3Z+AYMlFi8ztLPSA+AxA7T8ou52y4dk4yCLCZxuP2e3E2HJeiIlcEgjsxVqv7e9trXQBzNDE5BSDOFdZViEGFtfRmjxrpRcAdl/6Mz/zA7PCNfPJoT2OtVrjyuE7qLt6Nnct2yenpoCJ9khzzCo1wU3eOC+GafNrBGdQOpGHSN2QthnF6zi/5zFSEGy4ffFxOE4fWTA7ZXrP8SgNZhoyuziSSSye6orZdrF2IM6SFspMgYfqRF8WqRqVYR7mCiMsrdzztEvAMkKRYuAxhECyKw2dJGw== 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=hzwle0zvK6hKyyyxBhKSjNufGWLyHYW+6G8wXCJQjac=; b=kRJNls5viS4LMMjWGo2kXph6WHUpMV5jVqdN1X6zMX0D6QCpezRvxZlBqEoNEJ5TIrG80N2sSkP6f2k9o4FHnjqnt3lApucHnojY4fb7B/eUV3FzFW37+bKlW0aHMX5d7KYGh3o3hCKbClprxOKiZ+pCks6Vodn8bIpJ+xGowIjKM3XU6fnQzdv+qifaCme3Pl4gc2pDJYW7YYIYzY84KP0Ltz2rbpJ4ZYACGdW+CzDhmjw3HfglAt2IldBO3xNr3RSJQ24BIAhwRaKd3bGU/Zqv/67Nn9ebELAP6NnMhaMe+SwzaU+EdnK8qpHOA8LB7RfaJJl92FjwJtYhkrueMw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=netapp.com; dmarc=pass action=none header.from=netapp.com; dkim=pass header.d=netapp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netapp.onmicrosoft.com; s=selector1-netapp-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=hzwle0zvK6hKyyyxBhKSjNufGWLyHYW+6G8wXCJQjac=; b=FdOhZ4XCnvOK3kSSza0q+TW61aUt1Xy2XlH33+Vt3wBaFL94wORf2hvkOD6mRxcPk+YXunXVRZwoBMXpfJyqKLdk7diCQla7jXXI61Zfz/qaYHHP8GPUbgID+d3TUpWmDIVPIpL84dbVULqxJWjEBWUuu+PSw4JNBGsvZTn4vLU= Received: from DM6PR06MB6091.namprd06.prod.outlook.com (20.179.161.77) by DM6PR06MB6076.namprd06.prod.outlook.com (20.178.25.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.23; Thu, 6 Feb 2020 22:36:47 +0000 Received: from DM6PR06MB6091.namprd06.prod.outlook.com ([fe80::f1f3:b30c:a1bc:ad26]) by DM6PR06MB6091.namprd06.prod.outlook.com ([fe80::f1f3:b30c:a1bc:ad26%6]) with mapi id 15.20.2707.020; Thu, 6 Feb 2020 22:36:47 +0000 From: "Schumaker, Anna" To: "torvalds@linux-foundation.org" CC: "linux-nfs@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: [GIT PULL] Please pull NFS client updates for Linux 5.6 Thread-Topic: [GIT PULL] Please pull NFS client updates for Linux 5.6 Thread-Index: AQHV3T3qU64ArVIp8E6CkEvf5hpsJw== Date: Thu, 6 Feb 2020 22:36:47 +0000 Message-ID: <1fc9f9e7e1e2253e6fe6ce940bbb421ba84f7299.camel@netapp.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Evolution 3.34.3 authentication-results: spf=none (sender IP is ) smtp.mailfrom=Anna.Schumaker@netapp.com; x-originating-ip: [68.32.74.190] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e4f7e46a-754b-44eb-308b-08d7ab550cf1 x-ms-traffictypediagnostic: DM6PR06MB6076: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3513; x-forefront-prvs: 0305463112 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(396003)(376002)(39860400002)(346002)(366004)(136003)(199004)(189003)(8936002)(36756003)(2906002)(86362001)(71200400001)(6916009)(8676002)(5660300002)(4326008)(81166006)(81156014)(186003)(26005)(6506007)(2616005)(91956017)(66446008)(66556008)(66476007)(64756008)(66946007)(76116006)(15650500001)(6486002)(54906003)(478600001)(316002)(6512007);DIR:OUT;SFP:1101;SCL:1;SRVR:DM6PR06MB6076;H:DM6PR06MB6091.namprd06.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: netapp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: rOPky19W/hxJdA8KjE50ESNyDhTOkpJ3XQJWd4dEielW8ByMolZfbgFqbrlndpN+f3mZHEun9uCtz2EmQ1TPk0wzeBcx9RcgCGKpm8EKZCuCa2lWfdgiKb8PbreJOg2ie1xErMa3Fkgjx5jIuAxATkdQfZa2ubfI0rK6dcaHFXxUuLEomkggFCYyzlYKqpyETJCzVhcnlRUHSZb5cQNXTIYiBWGUCeVD2KtrHAjfPzHxg/6UCz9LHmtBZjxhzXt6CR5tRIceWwQdHMuVuc9A3lv7LGvG1+OX2qhnoRvN8RkrvZlf6gFXKn68Pd66K2DhvHuanCGw6d7i87OQi35QtgNLJzyC+xlti8Q/2+p/h5zEmAeP0eCzIFv3NMm2UmeH1IRxx/mYwzv43AJWfJHKHm+wrAiJW1Hcob5ikH1fk0pLWCq7Ocgl4djKSyWGDUoM x-ms-exchange-antispam-messagedata: nNvAbmyHbQLGFsu0FzQzpBzc3LQoeKoJHdIvIoKmFf21BK2tzCamXJk9zefNrhp2A++IpXyIpKCNRpAuxcwvCwfN7V7UP+QpZGORMcCbPaHgXAokyl/MXqeR3eY49bdgUQa1BXawZxuKemLzzZiy9Q== x-ms-exchange-transport-forked: True Content-ID: <64D8F6FB8619C64B80D0B0A3681E2E85@namprd06.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: netapp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e4f7e46a-754b-44eb-308b-08d7ab550cf1 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Feb 2020 22:36:47.2978 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4b0911a0-929b-4715-944b-c03745165b3a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: HITIljeatVZEF2p6KItY0RRUA8FTrTbR6GKcIAjvhsRm4soqIE1YmLrgK66ns0qLhewpFrgcxv24bIjyHkH5yg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR06MB6076 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 95e20af9fb9ce572129b930967dcb762a318c588: Merge tag 'nfs-for-5.5-2' of git://git.linux-nfs.org/projects/anna/linux-nfs (2020-01-14 13:33:14 -0800) are available in the Git repository at: git://git.linux-nfs.org/projects/anna/linux-nfs.git tags/nfs-for-5.6-1 for you to fetch changes up to 7dc2993a9e51dd2eee955944efec65bef90265b7: NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals (2020-02-04 12:27:55 -0500) ---------------------------------------------------------------- Stable bugfixes: - Fix memory leaks and corruption in readdir # v2.6.37+ - Directory page cache needs to be locked when read # v2.6.37+ New features: - Convert NFS to use the new mount API - Add "softreval" mount option to let clients use cache if server goes down - Add a config option to compile without UDP support - Limit the number of inactive delegations the client can cache at once - Improved readdir concurrency using iterate_shared() Other bugfixes and cleanups: - More 64-bit time conversions - Add additional diagnostic tracepoints - Check for holes in swapfiles, and add dependency on CONFIG_SWAP - Various xprtrdma cleanups to prepare for 5.7's changes - Several fixes for NFS writeback and commit handling - Fix acls over krb5i/krb5p mounts - Recover from premature loss of openstateids - Fix NFS v3 chacl and chmod bug - Compare creds using cred_fscmp() - Use kmemdup_nul() in more places - Optimize readdir cache page invalidation - Lease renewal and recovery fixes Thanks, Anna ---------------------------------------------------------------- Al Viro (15): saner calling conventions for nfs_fs_mount_common() nfs: stash server into struct nfs_mount_info nfs: lift setting mount_info from nfs4_remote{,_referral}_mount nfs: fold nfs4_remote_fs_type and nfs4_remote_referral_fs_type nfs: don't bother setting/restoring export_path around do_nfs_root_mount() nfs4: fold nfs_do_root_mount/nfs_follow_remote_path nfs: lift setting mount_info from nfs_xdev_mount() nfs: stash nfs_subversion reference into nfs_mount_info nfs: don't bother passing nfs_subversion to ->try_mount() and nfs_fs_mount_common() nfs: merge xdev and remote file_system_type nfs: unexport nfs_fs_mount_common() nfs: don't pass nfs_subversion to ->create_server() nfs: get rid of mount_info ->fill_super() nfs_clone_sb_security(): simplify the check for server bogosity nfs: get rid of ->set_security() Alex Shi (1): NFS: remove unused macros Arnd Bergmann (5): sunrpc: convert to time64_t for expiry nfs: use timespec64 in nfs_fattr nfs: fscache: use timespec64 in inode auxdata nfs: remove timespec from xdr_encode_nfstime nfs: encode nfsv4 timestamps as 64-bit Chuck Lever (13): SUNRPC: Capture signalled RPC tasks NFS: Introduce trace events triggered by page writeback errors NFS4: Report callback authentication errors SUNRPC: call_connect_status should handle -EPROTO xprtrdma: Eliminate ri_max_send_sges xprtrdma: Make sendctx queue lifetime the same as connection lifetime xprtrdma: Refactor initialization of ep->rep_max_requests xprtrdma: Eliminate per-transport "max pages" xprtrdma: Refactor frwr_is_supported xprtrdma: Allocate and map transport header buffers at connect time xprtrdma: Destroy rpcrdma_rep when Receive is flushed xprtrdma: Destroy reps from previous connection instance xprtrdma: DMA map rr_rdma_buf as each rpcrdma_rep is created Colin Ian King (1): NFS: Add missing null check for failed allocation Dai Ngo (1): nfs: optimise readdir cache page invalidation David Howells (9): NFS: Move mount parameterisation bits into their own file NFS: Constify mount argument match tables NFS: Rename struct nfs_parsed_mount_data to struct nfs_fs_context NFS: Split nfs_parse_mount_options() NFS: Deindent nfs_fs_context_parse_option() NFS: Add a small buffer in nfs_fs_context to avoid string dup NFS: Do some tidying of the parsing code NFS: Add fs_context support. nfs: Return EINVAL rather than ERANGE for mount parse errors Geert Uytterhoeven (1): nfs: NFS_SWAP should depend on SWAP Julia Lawall (1): SUNRPC: constify copied structure Murphy Zhou (1): fs/nfs, swapon: check holes in swapfile Olga Kornievskaia (3): NFSv4 fix acl retrieval over krb5i/krb5p mounts NFSv4.x recover from pre-mature loss of openstateid NFS: allow deprecation of NFS UDP protocol Robert Milkowski (2): NFSv4: try lease recovery on NFS4ERR_EXPIRED NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals Scott Mayhew (4): NFS: rename nfs_fs_context pointer arg in a few functions NFS: Convert mount option parsing to use functionality from fs_parser.h NFS: Additional refactoring for fs_context conversion NFS: Attach supplementary error information to fs_context. Su Yanjun (1): NFSv3: FIx bug when using chacl and chmod to change acl Trond Myklebust (32): NFS: Revalidate the file size on a fatal write error NFS: Revalidate the file mapping on all fatal writeback errors SUNRPC: Remove broken gss_mech_list_pseudoflavors() NFS: Fix up fsync() when the server rebooted NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() NFSv4: Improve read/write/commit tracing NFS: Fix fix of show_nfs_errors pNFS/flexfiles: Record resend attempts on I/O failure NFS: Clean up generic file read tracepoints NFS: Clean up generic writeback tracepoints NFS: Clean up generic file commit tracepoint pNFS/flexfiles: Add tracing for layout errors NFS: Improve tracing of permission calls NFS: When resending after a short write, reset the reply count to zero NFS: Fix nfs_direct_write_reschedule_io() NFS: Trust cached access if we've already revalidated the inode once NFS: Add mount option 'softreval' NFS: Add softreval behaviour to nfs_lookup_revalidate() NFSv4: pnfs_roc() must use cred_fscmp() to compare creds NFS: nfs_access_get_cached_rcu() should use cred_fscmp() NFS: nfs_find_open_context() should use cred_fscmp() NFSv4: nfs_inode_evict_delegation() should set NFS_DELEGATION_RETURNING NFS: Clear NFS_DELEGATION_RETURN_IF_CLOSED when the delegation is returned NFSv4: Try to return the delegation immediately when marked for return on close NFSv4: Add accounting for the number of active delegations held NFSv4: Limit the total number of cached delegations NFS: Replace various occurrences of kstrndup() with kmemdup_nul() SUNRPC: Use kmemdup_nul() in rpc_parse_scope_id() NFS: Fix memory leaks and corruption in readdir NFS: Directory page cache pages need to be locked when read NFS: Use kmemdup_nul() in nfs_readdir_make_qstr() NFS: Switch readdir to using iterate_shared() Wenwen Wang (1): NFS: Fix memory leaks zhengbin (2): NFS4: Remove unneeded semicolon NFS: move dprintk after nfs_alloc_fattr in nfs3_proc_lookup fs/nfs/Kconfig | 11 +- fs/nfs/Makefile | 2 +- fs/nfs/callback_xdr.c | 11 +- fs/nfs/client.c | 84 ++-- fs/nfs/delegation.c | 80 +++- fs/nfs/delegation.h | 1 + fs/nfs/dir.c | 83 ++-- fs/nfs/direct.c | 7 +- fs/nfs/dns_resolve.c | 2 +- fs/nfs/file.c | 49 ++- fs/nfs/flexfilelayout/flexfilelayout.c | 34 +- fs/nfs/fs_context.c | 1437 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/nfs/fscache-index.c | 6 +- fs/nfs/fscache.c | 20 +- fs/nfs/fscache.h | 8 +- fs/nfs/getroot.c | 73 +-- fs/nfs/inode.c | 10 +- fs/nfs/internal.h | 143 +++--- fs/nfs/mount_clnt.c | 2 - fs/nfs/namespace.c | 146 +++--- fs/nfs/nfs2xdr.c | 12 +- fs/nfs/nfs3_fs.h | 2 +- fs/nfs/nfs3client.c | 6 +- fs/nfs/nfs3proc.c | 28 +- fs/nfs/nfs3xdr.c | 5 +- fs/nfs/nfs42proc.c | 40 +- fs/nfs/nfs4_fs.h | 19 +- fs/nfs/nfs4client.c | 99 ++--- fs/nfs/nfs4file.c | 1 + fs/nfs/nfs4namespace.c | 298 +++++++------ fs/nfs/nfs4proc.c | 104 +++-- fs/nfs/nfs4renewd.c | 5 +- fs/nfs/nfs4state.c | 7 +- fs/nfs/nfs4super.c | 257 ++++------- fs/nfs/nfs4trace.c | 4 + fs/nfs/nfs4trace.h | 237 ++++++++-- fs/nfs/nfs4xdr.c | 17 +- fs/nfs/nfstrace.h | 279 +++++++++--- fs/nfs/pnfs.c | 4 +- fs/nfs/pnfs.h | 8 +- fs/nfs/pnfs_nfs.c | 7 +- fs/nfs/proc.c | 24 +- fs/nfs/read.c | 7 +- fs/nfs/super.c | 2218 ++++++++++++--------------------- ----------------------------------------------------------- fs/nfs/write.c | 32 +- include/linux/nfs_fs.h | 3 + include/linux/nfs_fs_sb.h | 1 + include/linux/nfs_xdr.h | 11 +- include/linux/sunrpc/auth.h | 2 - include/linux/sunrpc/gss_api.h | 7 +- include/linux/sunrpc/gss_krb5.h | 2 +- include/trace/events/rpcrdma.h | 12 +- include/trace/events/sunrpc.h | 1 + net/sunrpc/addr.c | 2 +- net/sunrpc/auth.c | 49 --- net/sunrpc/auth_gss/auth_gss.c | 1 - net/sunrpc/auth_gss/gss_krb5_mech.c | 12 +- net/sunrpc/auth_gss/gss_krb5_seal.c | 8 +- net/sunrpc/auth_gss/gss_krb5_unseal.c | 6 +- net/sunrpc/auth_gss/gss_krb5_wrap.c | 16 +- net/sunrpc/auth_gss/gss_mech_switch.c | 31 +- net/sunrpc/auth_gss/svcauth_gss.c | 4 +- net/sunrpc/clnt.c | 1 + net/sunrpc/sched.c | 4 +- net/sunrpc/xdr.c | 2 +- net/sunrpc/xprtrdma/backchannel.c | 4 + net/sunrpc/xprtrdma/frwr_ops.c | 104 ++--- net/sunrpc/xprtrdma/rpc_rdma.c | 20 +- net/sunrpc/xprtrdma/transport.c | 17 +- net/sunrpc/xprtrdma/verbs.c | 213 +++++---- net/sunrpc/xprtrdma/xprt_rdma.h | 14 +- 71 files changed, 3404 insertions(+), 3072 deletions(-) create mode 100644 fs/nfs/fs_context.c