Highlights include: - Stable patch to fix a deadlock between resends and LAYOUTRETURN - Stable patch to not clear the layout stateid if LAYOUTRETURN is outstanding - Stable patch to clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout - Stable patch to not send LAYOUTGET until the layout error has been reported - Patches to embed LAYOUTRETURN operations in the COMPOUNDs for CLOSE and DELEGRETURN. This fixes a set of races for the case where the server implements return-on-close, and where the client and server disagree on whether or not the layout was returned due to parallel OPEN and CLOSE calls. Trond Myklebust (26): 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 fs/nfs/callback_proc.c | 99 +++++--- fs/nfs/flexfilelayout/flexfilelayout.c | 8 +- fs/nfs/flexfilelayout/flexfilelayoutdev.c | 33 +-- fs/nfs/nfs4proc.c | 134 +++++++---- fs/nfs/nfs4xdr.c | 45 +++- fs/nfs/objlayout/objlayout.c | 4 +- fs/nfs/objlayout/objlayout.h | 1 - fs/nfs/pnfs.c | 381 ++++++++++++++++++------------ fs/nfs/pnfs.h | 72 ++++-- include/linux/nfs_xdr.h | 6 + 10 files changed, 506 insertions(+), 277 deletions(-) -- 2.9.3 -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html