From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753030AbcG3WhE (ORCPT ); Sat, 30 Jul 2016 18:37:04 -0400 Received: from us-smtp-delivery-194.mimecast.com ([63.128.21.194]:40567 "EHLO us-smtp-delivery-194.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751892AbcG3Wgz (ORCPT ); Sat, 30 Jul 2016 18:36:55 -0400 From: Trond Myklebust To: "torvalds@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "Anna.Schumaker@netapp.com" , "linux-nfs@vger.kernel.org" Subject: [GIT PULL] Please pull NFS client updates for 4.8 Thread-Topic: [GIT PULL] Please pull NFS client updates for 4.8 Thread-Index: AQHR6rLa5PApBu52zk+9KWubiZb+Gg== Date: Sat, 30 Jul 2016 22:36:46 +0000 Message-ID: <1469918203.3695.2.camel@primarydata.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [68.49.162.121] x-ms-office365-filtering-correlation-id: 1f3d8e71-8841-415c-2dbb-08d3b8c9fd31 x-microsoft-exchange-diagnostics: 1;BN3PR11MB0306;20:Ntq7LlVTGGPK9bcUjefTOk1nsEY1fhIJ8vnBxKKktmP/0yo7QcmpsHlao3e0ltqvY3sDAknIBdIvv7yeUSc097GD8wou+sp/hewg2trjxAQqOZLbcjjbx8Y1p8yUzcWR0njHKICXShGo5W+HzF55vkNimI2cD90CBZsfyWaiDYQ= x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:BN3PR11MB0306; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(158342451672863)(192374486261705)(5213294742642); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040130)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041072)(6043046);SRVR:BN3PR11MB0306;BCL:0;PCL:0;RULEID:;SRVR:BN3PR11MB0306; x-forefront-prvs: 001968DD50 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(199003)(189002)(377424004)(92566002)(7846002)(66066001)(2900100001)(105586002)(8676002)(81156014)(110136002)(4326007)(7736002)(1730700003)(3846002)(77096005)(97736004)(102836003)(54356999)(5002640100001)(122556002)(2501003)(305945005)(15650500001)(50986999)(81166006)(6116002)(189998001)(33646002)(5640700001)(8936002)(106356001)(2351001)(3280700002)(86362001)(10400500002)(68736007)(11100500001)(575784001)(106116001)(19580395003)(99286002)(19580405001)(229853001)(36756003)(103116003)(2906002)(101416001)(87936001)(586003)(3660700001);DIR:OUT;SFP:1102;SCL:1;SRVR:BN3PR11MB0306;H:BN3PR11MB0305.namprd11.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-ID: <1D1E7971A5931940BC1AE5BE0E7DBB9C@namprd11.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: primarydata.com X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Jul 2016 22:36:46.2555 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 03193ed6-8726-4bb3-a832-18ab0d28adb7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR11MB0306 X-MC-Unique: qcuYd76QMDeqZxGJc1W-pA-1 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id u6UMbYbl009299 Hi Linus, The following changes since commit 92d21ac74a9e3c09b0b01c764e530657e4c85c49: Linux 4.7-rc7 (2016-07-10 20:24:59 -0700) are available in the git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-4.8-1 for you to fetch changes up to 944171cbf499d3445c749f7c13c46de0a564a905: pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding (2016-07-28 14:49:08 -0400) Cheers   Trond ---------------------------------------------------------------- NFS client updates for Linux 4.8 Highlights include: Stable bugfixes: - nfs: don't create zero-length requests - Several LAYOUTGET bugfixes Features: - Several performance related features - More aggressive caching when we can rely on close-to-open cache consistency - Remove serialisation of O_DIRECT reads and writes - Optimise several code paths to not flush to disk unnecessarily. However allow for the idiosyncracies of pNFS for those layout types that need to issue a LAYOUTCOMMIT before the metadata can be updated on the server. - SUNRPC updates to the client data receive path - pNFS/SCSI support RH/Fedora dm-mpath device nodes - pNFS files/flexfiles can now use unprivileged ports when the generic NFS mount options allow it. Bugfixes: - Don't use RDMA direct data placement together with data integrity or privacy security flavours - Remove the RDMA ALLPHYSICAL memory registration mode as it has potential security holes. - Several layout recall fixes to improve NFSv4.1 protocol compliance. - Fix an Oops in the pNFS files and flexfiles connection setup to the DS - Allow retry of operations that used a returned delegation stateid - Don't mark the inode as revalidated if a LAYOUTCOMMIT is outstanding - Fix writeback races in nfs4_copy_range() and nfs42_proc_deallocate() ---------------------------------------------------------------- Artem Savkov (1): Fix NULL pointer dereference in bl_free_device(). Benjamin Coddington (3): pnfs/blocklayout: put deviceid node after releasing bl_ext_lock nfs: don't create zero-length requests pNFS: Actively set attributes as invalid if LAYOUTCOMMIT is outstanding Christoph Hellwig (3): nfs/blocklayout: use proper fmode for opening block devices nfs/blocklayout: refactor open-by-wwn nfs/blocklayout: support RH/Fedora dm-mpath device nodes Chuck Lever (24): xprtrdma: Remove FMRs from the unmap list after unmapping xprtrdma: Create common scatterlist fields in rpcrdma_mw xprtrdma: Move init and release helpers xprtrdma: Rename fields in rpcrdma_fmr xprtrdma: Use scatterlist for DMA mapping and unmapping under FMR xprtrdma: Refactor MR recovery work queues xprtrdma: Do not leak an MW during a DMA map failure xprtrdma: Remove ALLPHYSICAL memory registration mode xprtrdma: Remove rpcrdma_map_one() and friends xprtrdma: Clean up device capability detection xprtrdma: Reply buffer exhaustion can be catastrophic xprtrdma: Honor ->send_request API contract xprtrdma: Chunk list encoders must not return zero xprtrdma: Allocate MRs on demand xprtrdma: Release orphaned MRs immediately xprtrdma: Place registered MWs on a per-req list xprtrdma: Chunk list encoders no longer share one rl_segments array xprtrdma: rpcrdma_inline_fixup() overruns the receive page list xprtrdma: Do not update {head, tail}.iov_len in rpcrdma_inline_fixup() xprtrdma: Update only specific fields in private receive buffer xprtrdma: Clean up fixup_copy_count accounting xprtrdma: No direct data placement with krb5i and krb5p svc: Avoid garbage replies when pc_func() returns rpc_drop_reply NFS: Don't drop CB requests with invalid principals Frank Sorenson (4): sunrpc: Fix bit count when setting hashtable size to power-of-two sunrpc: Fix reserved port range calculation sunrpc: Prevent resvport min/max inversion via sysctl sunrpc: Prevent resvport min/max inversion via sysfs and module parameter Kinglong Mee (2): nfs/blocklayout: Make sure calculate signature length aligned nfs/blocklayout: Check max uuids and devices before decoding Scott Mayhew (1): sunrpc: move NO_CRKEY_TIMEOUT to the auth->au_flags Steve Dickson (1): mount: use sec= that was specified on the command line Tigran Mkrtchyan (2): nfs4: clnt: respect noresvport when establishing connections to DSes nfs4: flexfiles: respect noresvport when establishing connections to DSes Trond Myklebust (69): SUNRPC: Small optimisation of client receive SUNRPC: Consolidate xs_tcp_data_ready and xs_data_ready SUNRPC: RPC transport queue must be low latency SUNRPC: Reduce latency when send queue is congested SUNRPC: Fix suspicious enobufs issues. NFS: Don't flush caches for a getattr that races with writeback NFS: Cache access checks more aggressively NFS: Cache aggressively when file is open for writing NFS: Kill NFS_INO_NFS_INO_FLUSHING: it is a performance killer NFS: writepage of a single page should not be synchronous NFS: Don't hold the inode lock across fsync() NFS: Don't call COMMIT in ->releasepage() NFS: Fix an Oops in the pNFS files and flexfiles connection setup to the DS NFS/pnfs: Do not clobber existing pgio_done_cb in nfs4_proc_read_setup NFSv4: Allow retry of operations that used a returned delegation stateid pNFS/files: Fix layoutcommit after a commit to DS pNFS/flexfiles: Fix layoutcommit after a commit to DS pNFS/flexfiles: Clean up calls to pnfs_set_layoutcommit() pNFS: Files and flexfiles always need to commit before layoutcommit pNFS: Ensure we layoutcommit before revalidating attributes pNFS: pnfs_layoutcommit_outstanding() is no longer used when !CONFIG_NFS_V4_1 NFS: Fix O_DIRECT verifier problems NFS: Ensure we reset the write verifier 'committed' value on resend. NFS: Remove racy size manipulations in O_DIRECT NFS Cleanup: move call to generic_write_checks() into fs/nfs/direct.c NFS: Move buffered I/O locking into nfs_file_write() NFS: Do not serialise O_DIRECT reads and writes NFS: Cleanup nfs_direct_complete() NFS: Remove redundant waits for O_DIRECT in fsync() and write_begin() NFS: Remove unused function nfs_revalidate_mapping_protected() NFS: Do not aggressively cache file attributes in the case of O_DIRECT NFS: Getattr doesn't require data sync semantics NFSv4.2: Fix a race in nfs42_proc_deallocate() NFSv4.2: Fix writeback races in nfs4_copy_file_range NFSv4.2: llseek(SEEK_HOLE) and llseek(SEEK_DATA) don't require data sync NFS nfs_vm_page_mkwrite: Don't freeze me, Bro... NFSv4: Revert "Truncating file opens should also sync O_DIRECT writes" Merge tag 'nfs-rdma-4.8-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma SUNRPC: Fix infinite looping in rpc_clnt_iterate_for_each_xprt pNFS: Don't mark the inode as revalidated if a LAYOUTCOMMIT is outstanding pNFS: Fix post-layoutget error handling in pnfs_update_layout() pNFS: Separate handling of NFS4ERR_LAYOUTTRYLATER and RECALLCONFLICT pNFS: Handle NFS4ERR_RECALLCONFLICT correctly in LAYOUTGET pNFS: Fix LAYOUTGET handling of NFS4ERR_BAD_STATEID and NFS4ERR_EXPIRED Merge tag 'nfs-rdma-4.8-2' of git://git.linux-nfs.org/projects/anna/nfs-rdma pNFS/files: filelayout_write_done_cb must call nfs_writeback_update_inode() Merge commit 'e7bdea7750eb' pNFS: LAYOUTRETURN should only update the stateid if the layout is valid pNFS: Clear the layout return tracking on layout reinitialisation pNFS: Always update the layout stateid if NFS_LAYOUT_INVALID_STID is set pNFS: Always update the layout barrier seqid on LAYOUTGET pNFS: Fix CB_LAYOUTRECALL stateid verification pNFS: Ensure layoutreturn acts as a completion for layout callbacks pNFS: Do not set plh_return_seq for non-callback related layoutreturns NFS: pnfs_mark_matching_lsegs_return() should match the layout sequence id pNFS: Cleanup - don't open code pnfs_mark_layout_stateid_invalid() pNFS: Clear the layout metadata if the server changed the layout stateid pNFS: Remove redundant pnfs_mark_layout_returned_if_empty() pNFS: Remove redundant stateid invalidation pNFS: Cleanup - do layout segment initialisation in one place pNFS: Remove redundant smp_mb() from pnfs_init_lseg() SUNRPC: Fix a compiler warning in fs/nfs/clnt.c Merge branch 'sunrpc' Merge branch 'writeback' Merge branch 'pnfs' Merge branch 'nfs-rdma' NFSv4: Fix warning "no previous prototype for ‘nfs4_listxattr’" NFSv4.2: Fix warning "variable ‘stateids’ set but not used" NFSv4: Clean up lookup of SECINFO_NO_NAME kbuild test robot (1): xprtrdma: fix semicolon.cocci warnings fs/nfs/Makefile | 2 +- fs/nfs/blocklayout/dev.c | 110 +++++++--- fs/nfs/blocklayout/extent_tree.c | 27 ++- fs/nfs/callback_proc.c | 64 ++++-- fs/nfs/callback_xdr.c | 6 +- fs/nfs/client.c | 22 +- fs/nfs/dir.c | 52 +++-- fs/nfs/direct.c | 93 +++----- fs/nfs/file.c | 100 +++------ fs/nfs/filelayout/filelayout.c | 18 +- fs/nfs/flexfilelayout/flexfilelayout.c | 23 +- fs/nfs/inode.c | 138 ++++++------ fs/nfs/internal.h | 62 +++++- fs/nfs/io.c | 147 +++++++++++++ fs/nfs/nfs3client.c | 14 +- fs/nfs/nfs42proc.c | 24 ++- fs/nfs/nfs42xdr.c | 12 +- fs/nfs/nfs4_fs.h | 1 + fs/nfs/nfs4client.c | 26 ++- fs/nfs/nfs4file.c | 16 +- fs/nfs/nfs4proc.c | 153 ++++++------- fs/nfs/nfs4xdr.c | 11 +- fs/nfs/nfstrace.h | 1 - fs/nfs/pnfs.c | 191 ++++++++++------- fs/nfs/pnfs.h | 34 ++- fs/nfs/pnfs_nfs.c | 13 +- fs/nfs/super.c | 14 +- fs/nfs/write.c | 44 ++-- include/linux/nfs_fs.h | 3 +- include/linux/nfs_xdr.h | 5 +- include/linux/sunrpc/auth.h | 9 +- include/linux/sunrpc/gss_api.h | 2 + include/linux/sunrpc/sched.h | 5 + include/linux/sunrpc/xprtsock.h | 1 + net/sunrpc/auth.c | 8 +- net/sunrpc/auth_generic.c | 9 +- net/sunrpc/auth_gss/auth_gss.c | 3 + net/sunrpc/auth_gss/gss_krb5_mech.c | 2 + net/sunrpc/auth_gss/gss_mech_switch.c | 12 ++ net/sunrpc/auth_null.c | 1 + net/sunrpc/auth_unix.c | 1 + net/sunrpc/clnt.c | 2 +- net/sunrpc/sched.c | 67 ++++-- net/sunrpc/svc.c | 8 +- net/sunrpc/xprt.c | 14 +- net/sunrpc/xprtmultipath.c | 8 +- net/sunrpc/xprtrdma/Makefile | 2 +- net/sunrpc/xprtrdma/fmr_ops.c | 378 +++++++++++++++------------------ net/sunrpc/xprtrdma/frwr_ops.c | 369 ++++++++++++-------------------- net/sunrpc/xprtrdma/physical_ops.c | 122 ----------- net/sunrpc/xprtrdma/rpc_rdma.c | 274 ++++++++++++------------ net/sunrpc/xprtrdma/transport.c | 40 ++-- net/sunrpc/xprtrdma/verbs.c | 242 ++++++++++++++------- net/sunrpc/xprtrdma/xprt_rdma.h | 118 ++++------ net/sunrpc/xprtsock.c | 125 ++++++----- 55 files changed, 1748 insertions(+), 1500 deletions(-) create mode 100644 fs/nfs/io.c delete mode 100644 net/sunrpc/xprtrdma/physical_ops.c -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@primarydata.com