Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756501AbcLOXej (ORCPT ); Thu, 15 Dec 2016 18:34:39 -0500 Received: from us-smtp-delivery-194.mimecast.com ([216.205.24.194]:44116 "EHLO us-smtp-delivery-194.mimecast.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753668AbcLOXeg (ORCPT ); Thu, 15 Dec 2016 18:34:36 -0500 From: Trond Myklebust To: "torvalds@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "linux-nfs@vger.kernel.org" Subject: [GIT PULL] Please pull NFS client updates for 4.10 Thread-Topic: [GIT PULL] Please pull NFS client updates for 4.10 Thread-Index: AQHSVyu7lsx0aHKFRkGVcSXowyBR0A== Date: Thu, 15 Dec 2016 23:34:09 +0000 Message-ID: <1481844847.11785.3.camel@primarydata.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [68.49.162.121] x-ms-office365-filtering-correlation-id: bea9ba67-250d-4ba8-e69e-08d42542de71 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:BN6PR11MB1571; x-microsoft-exchange-diagnostics: 1;BN6PR11MB1571;7:0HoFuPgWYnKf9qm1zAqOenHZI6+FEL1OfFkTdCxcxV3iHhfxylc9UTh+P4WNWVy46cs1y8NMaHutiG7C1PTOCKntuj/ktwaUNTWsO1K2B3OlGP7Bjzo1fv+mX/SkmeLehQK4lG1e2w8NjegS9vWt0wqek9xnJkeaUwUPxj4CwBR16THChCDaDDLSMTMiaqmYPXyy4c2P+DTI+wDSCJEsLBfTpfaxDfkojReseUlb/9wya+qG7Hto3xKBjzWxlSymqLMQxzrgec+y3HKhnIiVElR0HHueDmlPAJl/SDxnQ3Q3f+syRRkg/20F391AZ3QsrROJVUKeIgT8eZjV11+mTr1HesvMi7m5sQfXjRXOEyIiIoLX3sE8Ts3xkAzBaGgYPC4Wm+o9Z3ZtV9TTKugUhkEFuH6tzhjH3B9SKEnviFpSZh3QC9qmtjl8w7HcmXN8J391VgLfboBK2gvsCrH12A==;20:SyxOIxy4aybh47hbLfV6MDdXXY7JSK9Kppf+pSgZVKv18VtdhQ5/eoAK1tc1cSRhHgH2/paSq7vHlu7GkuCKriTrl7vrKmobTHFnt7zslL1UrHrjwvTXkuHS4P+QdjI3dWqxIteIPOFhpZ/FM6+o8z7QAAikDfelwpT5kCHy/AU= x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(5213294742642)(21532816269658); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(6041248)(2016111802025)(20161123560025)(20161123558021)(20161123564025)(20161123555025)(20161123562025)(6072148)(6043046);SRVR:BN6PR11MB1571;BCL:0;PCL:0;RULEID:;SRVR:BN6PR11MB1571; x-forefront-prvs: 0157DEB61B x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(39410400002)(39830400002)(39450400003)(377424004)(189002)(199003)(66066001)(6506006)(106116001)(6436002)(6512006)(110136003)(5660300001)(38730400001)(8936002)(54356999)(68736007)(5640700003)(81166006)(50986999)(15650500001)(2501003)(6486002)(8676002)(36756003)(77096006)(81156014)(1730700003)(3280700002)(4001150100001)(103116003)(305945005)(92566002)(97736004)(6116002)(101416001)(102836003)(2906002)(105586002)(2900100001)(33646002)(122556002)(3660700001)(6916009)(2351001)(575784001)(189998001)(106356001)(4326007)(3846002)(86362001)(25786008)(7736002)(99286002);DIR:OUT;SFP:1102;SCL:1;SRVR:BN6PR11MB1571;H:BN6PR11MB1570.namprd11.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-ID: MIME-Version: 1.0 X-OriginatorOrg: primarydata.com X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Dec 2016 23:34:09.3926 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 03193ed6-8726-4bb3-a832-18ab0d28adb7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR11MB1571 X-MC-Unique: H-m1EzXPN3e6iTEd3N-uwQ-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 uBFNYk8J005173 Content-Length: 10100 Lines: 200 Hi Linus, The following changes since commit e5517c2a5a49ed5e99047008629f1cd60246ea0e: Linux 4.9-rc7 (2016-11-27 13:08:04 -0800) are available in the git repository at: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-4.10-1 for you to fetch changes up to 2549f307b5997bf5dd91071428e8090d9faa8b1b: Merge tag 'nfs-rdma-4.10-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma (2016-12-10 10:31:44 -0500) Cheers Trond ---------------------------------------------------------------- NFS client updates for Linux 4.10 Highlights include: Stable bugfixes: - Fix a pnfs deadlock between read resends and layoutreturn - Don't invalidate the layout stateid while a layout return is outstanding - Don't schedule a layoutreturn if the layout stateid is marked as invalid - On a pNFS error, do not send LAYOUTGET until the LAYOUTRETURN is complete - SUNRPC: fix refcounting problems with auth_gss messages. Features: - Add client support for the NFSv4 umask attribute. - NFSv4: Correct support for flock() stateids. - Add a LAYOUTRETURN operation to CLOSE and DELEGRETURN when return-on-close is specified - Allow the pNFS/flexfiles layoutstat information to piggyback on LAYOUTRETURN - Optimise away redundant GETATTR calls when doing state recovery and/or when not required by cache revalidation rules or close-to-open cache consistency. - Attribute cache improvements - RPC/RDMA support for SG_GAP devices Bugfixes: - NFS: Fix performance regressions in readdir - pNFS/flexfiles: Fix a deadlock on LAYOUTGET - NFSv4: Add missing nfs_put_lock_context() - NFSv4.1: Fix regression in callback retry handling - Fix false positive NFSv4.0 trunking detection. - pNFS/flexfiles: Only send layoutstats updates for mirrors that were updated - Various layout stateid related bugfixes - RPC/RDMA bugfixes ---------------------------------------------------------------- Andreas Gruenbacher (1): nfs: add support for the umask attribute Anna Schumaker (2): NFS: Remove unused authflavour parameter from nfs_get_client() NFS: Remove unused argument from nfs_direct_write_complete() Chuck Lever (12): xprtrdma: Cap size of callback buffer resources xprtrdma: Make FRWR send queue entry accounting more accurate xprtrdma: Support for SG_GAP devices SUNRPC: Proper metric accounting when RPC is not transmitted xprtrdma: Address coverity complaint about wait_for_completion() xprtrdma: Avoid calls to ro_unmap_safe() xprtrdma: Refactor FRMR invalidation xprtrdma: Update documenting comment xprtrdma: Squelch "max send, max recv" messages at connect time xprtrdma: Shorten QP access error message xprtrdma: Update dprintk in rpcrdma_count_chunks xprtrdma: Relocate connection helper functions Fred Isaman (2): NFSv4.1: Fix regression in callback retry handling pNFS/flexfiles: Fix a deadlock on LAYOUTGET J. Bruce Fields (1): nfs: fix false positives in nfs40_walk_client_list() NeilBrown (9): sunrpc: Don't engage exponential backoff when connection attempt is rejected. NFS: remove l_pid field from nfs_lockowner NFSv4: add flock_owner to open context NFSv4: change nfs4_do_setattr to take an open_context instead of a nfs4_state. NFSv4: change nfs4_select_rw_stateid to take a lock_context inplace of lock_owner NFSv4: enhance nfs4_copy_lock_stateid to use a flock stateid if there is one NFS: discard nfs_lockowner structure. NFSv4: Add missing nfs_put_lock_context() SUNRPC: fix refcounting problems with auth_gss messages. Trond Myklebust (55): NFSv4: Don't check file access when reclaiming state NFSv4: Don't ask for the change attribute when reclaiming state NFSv4: Don't request a GETATTR on open_downgrade. NFSv4: Don't request close-to-open attribute when holding a delegation NFSv4: Optimise away forced revalidation when we know the attributes are OK pNFS: Fix a deadlock between read resends and layoutreturn pNFS: Don't clear the layout stateid if a layout return is outstanding pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid pNFS: Force a retry of LAYOUTGET if the stateid doesn't match our cache pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed pNFS: Fix race in pnfs_wait_on_layoutreturn pNFS: consolidate the different range intersection tests pNFS: Delay getting the layout header in CB_LAYOUTRECALL handlers pNFS: Do not free layout segments that are marked for return NFSv4: Ignore LAYOUTRETURN result if the layout doesn't match or is invalid pNFS: Remove spurious wake up in pnfs_layout_remove_lseg() pNFS: Skip checking for return-on-close if the layout is invalid pNFS: Get rid of unnecessary layout parameter in encode_layoutreturn callback pNFS: Don't mark layout segments invalid on layoutreturn in pnfs_roc NFSv4: Fix missing operation accounting in NFS4_dec_delegreturn_sz NFSv4: Add encode/decode of the layoutreturn op in CLOSE NFSv4: Add encode/decode of the layoutreturn op in DELEGRETURN pNFS: Clean up - add a helper to initialise struct layoutreturn_args pNFS: Enable layoutreturn operation for return-on-close pNFS: Prevent unnecessary layoutreturns after delegreturn pNFS: Clear all layout segment state in pnfs_mark_layout_stateid_invalid pNFS: Fix bugs in _pnfs_return_layout pNFS: Sync the layout state bits in pnfs_cache_lseg_for_layoutreturn pNFS: Don't mark the layout as freed if the last lseg is marked for return pNFS: Wait on outstanding layoutreturns to complete in pnfs_roc() pNFS: Skip invalid stateids when doing a bulk destroy NFS: Fix a performance regression in readdir NFS: Be more targeted about readdirplus use when doing lookup/revalidation NFS: Allow getattr to also report readdirplus cache hits pNFS/flexfiles: Don't attempt to send layoutstats if there are no entries pNFS/flexfiles: Only send layoutstats updates for mirrors that were updated NFSv4: Add a generic structure for managing layout-private information pNFS: Allow layout drivers to manage private data in struct nfs4_layoutreturn pNFS: Add a layoutreturn callback to performa layout-private setup pNFS/flexfiles: Refactor encoding of the layoutreturn payload pNFS/flexfiles: Clean up layoutstats NFS: Fix up read of mirror stats pNFS/flexfiles: Minor refactoring before adding iostats to layoutreturn pNFS/flexfiles: Support sending layoutstats in layoutreturn NFS: Fix incorrect mapping revalidation when holding a delegation NFS: Fix incorrect size revalidation when holding a delegation NFS: Only look at the change attribute cache state in nfs_check_verifier NFSv4.1: Handle NFS4ERR_BADSESSION/NFS4ERR_DEADSESSION replies to OP_SEQUENCE NFSv4.1: Don't schedule lease recovery in nfs4_schedule_session_recovery() pNFS: Release NFS_LAYOUT_RETURN when invalidating the layout stateid pNFS/flexfiles: Fix ff_layout_add_ds_error_locked() pNFS: Layoutreturn must free the layout after the layout-private data pNFS/flexfiles: Remove a redundant parameter in ff_layout_encode_ioerr() pNFS/flexfiles: Ensure we have enough buffer for layoutreturn Merge tag 'nfs-rdma-4.10-1' of git://git.linux-nfs.org/projects/anna/nfs-rdma Wei Yongjun (1): NFS: fix typo in parameter description fs/nfs/callback_proc.c | 99 +++++--- fs/nfs/client.c | 6 +- fs/nfs/delegation.c | 4 - fs/nfs/dir.c | 73 +++--- fs/nfs/direct.c | 12 +- fs/nfs/file.c | 5 +- fs/nfs/filelayout/filelayoutdev.c | 3 +- fs/nfs/flexfilelayout/flexfilelayout.c | 313 +++++++++++++++-------- fs/nfs/flexfilelayout/flexfilelayout.h | 23 +- fs/nfs/flexfilelayout/flexfilelayoutdev.c | 151 +++++++---- fs/nfs/inode.c | 51 ++-- fs/nfs/internal.h | 9 +- fs/nfs/nfs3client.c | 5 +- fs/nfs/nfs42proc.c | 9 +- fs/nfs/nfs42xdr.c | 5 +- fs/nfs/nfs4_fs.h | 2 +- fs/nfs/nfs4client.c | 32 ++- fs/nfs/nfs4file.c | 2 +- fs/nfs/nfs4proc.c | 233 +++++++++++------ fs/nfs/nfs4session.c | 2 +- fs/nfs/nfs4state.c | 27 +- fs/nfs/nfs4xdr.c | 96 +++++-- fs/nfs/objlayout/objlayout.c | 4 +- fs/nfs/objlayout/objlayout.h | 1 - fs/nfs/pagelist.c | 3 +- fs/nfs/pnfs.c | 407 ++++++++++++++++++------------ fs/nfs/pnfs.h | 77 ++++-- fs/nfs/pnfs_nfs.c | 28 +- fs/nfs/super.c | 2 +- fs/nfs/write.c | 3 +- include/linux/nfs4.h | 1 + include/linux/nfs_fs.h | 11 +- include/linux/nfs_xdr.h | 27 +- net/sunrpc/auth_gss/auth_gss.c | 7 +- net/sunrpc/clnt.c | 2 + net/sunrpc/stats.c | 10 +- net/sunrpc/xprt.c | 3 +- net/sunrpc/xprtrdma/backchannel.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 94 ++++--- net/sunrpc/xprtrdma/rpc_rdma.c | 36 +-- net/sunrpc/xprtrdma/transport.c | 34 ++- net/sunrpc/xprtrdma/verbs.c | 37 +-- net/sunrpc/xprtrdma/xprt_rdma.h | 31 ++- 43 files changed, 1258 insertions(+), 726 deletions(-) -- Trond Myklebust Linux NFS client maintainer, PrimaryData trond.myklebust@primarydata.com