linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/26] pNFS updates for v4.10
@ 2016-12-01 22:18 Trond Myklebust
  2016-12-01 22:18 ` [PATCH 01/26] pNFS: Fix a deadlock between read resends and layoutreturn Trond Myklebust
  0 siblings, 1 reply; 27+ messages in thread
From: Trond Myklebust @ 2016-12-01 22:18 UTC (permalink / raw)
  To: linux-nfs

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


^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2016-12-01 22:19 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-01 22:18 [PATCH 00/26] pNFS updates for v4.10 Trond Myklebust
2016-12-01 22:18 ` [PATCH 01/26] pNFS: Fix a deadlock between read resends and layoutreturn Trond Myklebust
2016-12-01 22:18   ` [PATCH 02/26] pNFS: Don't clear the layout stateid if a layout return is outstanding Trond Myklebust
2016-12-01 22:18     ` [PATCH 03/26] pNFS: Clear NFS_LAYOUT_RETURN_REQUESTED when invalidating the layout stateid Trond Myklebust
2016-12-01 22:19       ` [PATCH 04/26] pNFS: Force a retry of LAYOUTGET if the stateid doesn't match our cache Trond Myklebust
2016-12-01 22:19         ` [PATCH 05/26] pNFS: On error, do not send LAYOUTGET until the LAYOUTRETURN has completed Trond Myklebust
2016-12-01 22:19           ` [PATCH 06/26] pNFS: Fix race in pnfs_wait_on_layoutreturn Trond Myklebust
2016-12-01 22:19             ` [PATCH 07/26] pNFS: consolidate the different range intersection tests Trond Myklebust
2016-12-01 22:19               ` [PATCH 08/26] pNFS: Delay getting the layout header in CB_LAYOUTRECALL handlers Trond Myklebust
2016-12-01 22:19                 ` [PATCH 09/26] pNFS: Do not free layout segments that are marked for return Trond Myklebust
2016-12-01 22:19                   ` [PATCH 10/26] NFSv4: Ignore LAYOUTRETURN result if the layout doesn't match or is invalid Trond Myklebust
2016-12-01 22:19                     ` [PATCH 11/26] pNFS: Remove spurious wake up in pnfs_layout_remove_lseg() Trond Myklebust
2016-12-01 22:19                       ` [PATCH 12/26] pNFS: Skip checking for return-on-close if the layout is invalid Trond Myklebust
2016-12-01 22:19                         ` [PATCH 13/26] pNFS: Get rid of unnecessary layout parameter in encode_layoutreturn callback Trond Myklebust
2016-12-01 22:19                           ` [PATCH 14/26] pNFS: Don't mark layout segments invalid on layoutreturn in pnfs_roc Trond Myklebust
2016-12-01 22:19                             ` [PATCH 15/26] NFSv4: Fix missing operation accounting in NFS4_dec_delegreturn_sz Trond Myklebust
2016-12-01 22:19                               ` [PATCH 16/26] NFSv4: Add encode/decode of the layoutreturn op in CLOSE Trond Myklebust
2016-12-01 22:19                                 ` [PATCH 17/26] NFSv4: Add encode/decode of the layoutreturn op in DELEGRETURN Trond Myklebust
2016-12-01 22:19                                   ` [PATCH 18/26] pNFS: Clean up - add a helper to initialise struct layoutreturn_args Trond Myklebust
2016-12-01 22:19                                     ` [PATCH 19/26] pNFS: Enable layoutreturn operation for return-on-close Trond Myklebust
2016-12-01 22:19                                       ` [PATCH 20/26] pNFS: Prevent unnecessary layoutreturns after delegreturn Trond Myklebust
2016-12-01 22:19                                         ` [PATCH 21/26] pNFS: Clear all layout segment state in pnfs_mark_layout_stateid_invalid Trond Myklebust
2016-12-01 22:19                                           ` [PATCH 22/26] pNFS: Fix bugs in _pnfs_return_layout Trond Myklebust
2016-12-01 22:19                                             ` [PATCH 23/26] pNFS: Sync the layout state bits in pnfs_cache_lseg_for_layoutreturn Trond Myklebust
2016-12-01 22:19                                               ` [PATCH 24/26] pNFS: Don't mark the layout as freed if the last lseg is marked for return Trond Myklebust
2016-12-01 22:19                                                 ` [PATCH 25/26] pNFS: Wait on outstanding layoutreturns to complete in pnfs_roc() Trond Myklebust
2016-12-01 22:19                                                   ` [PATCH 26/26] pNFS: Skip invalid stateids when doing a bulk destroy Trond Myklebust

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).