From: Trond Myklebust Date: Thu, 7 Jan 2016 23:45:36 +0000 (-0500) Subject: Merge branch 'bugfixes' X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=daaadd2283eb8bcae3b866592a9a1c807cc60605;p=linux.git Merge branch 'bugfixes' * bugfixes: SUNRPC: Fixup socket wait for memory SUNRPC: Fix a missing break in rpc_anyaddr() pNFS/flexfiles: Fix an Oopsable typo in ff_mirror_match_fh() NFS: Fix attribute cache revalidation NFS: Ensure we revalidate attributes before using execute_ok() NFS: Flush reclaim writes using FLUSH_COND_STABLE NFS: Background flush should not be low priority NFSv4.1/pnfs: Fixup an lo->plh_block_lgets imbalance in layoutreturn NFSv4: Don't perform cached access checks before we've OPENed the file NFS: Allow the combination pNFS and labeled NFS NFS42: handle layoutstats stateid error nfs: Fix race in __update_open_stateid() nfs: fix missing assignment in nfs4_sequence_done tracepoint --- daaadd2283eb8bcae3b866592a9a1c807cc60605 diff --cc fs/nfs/nfs4proc.c index 5e5062c9b92ba,5dd2cde79f7e7..42ae44f2967ba --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c @@@ -8074,12 -8053,10 +8077,11 @@@ static void nfs4_layoutreturn_release(v dprintk("--> %s\n", __func__); spin_lock(&lo->plh_inode->i_lock); + pnfs_mark_matching_lsegs_invalid(lo, &freeme, &lrp->args.range); + pnfs_mark_layout_returned_if_empty(lo); if (lrp->res.lrs_present) pnfs_set_layout_stateid(lo, &lrp->res.stateid, true); - pnfs_mark_matching_lsegs_invalid(lo, &freeme, &lrp->args.range); pnfs_clear_layoutreturn_waitbit(lo); - lo->plh_block_lgets--; spin_unlock(&lo->plh_inode->i_lock); pnfs_free_lseg_list(&freeme); pnfs_put_layout_hdr(lrp->args.layout);