linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/10] nfsd: more delegation fixes to prepare for client_mutex removal
@ 2014-07-18 15:13 Jeff Layton
  2014-07-18 15:13 ` [PATCH v4 01/10] nfsd: Protect the nfs4_file delegation fields using the fi_lock Jeff Layton
                   ` (9 more replies)
  0 siblings, 10 replies; 39+ messages in thread
From: Jeff Layton @ 2014-07-18 15:13 UTC (permalink / raw)
  To: bfields; +Cc: hch, linux-nfs

v4:
- close more potential races in setlease code, and fix some bugs in
  error handling in that code.

- clean up delegation setting functions, eliminating unused arguments
  and avoiding allocations when there has already been a delegation
  break

- add separate spinlock for block_delegations/delegation_blocked code

v3:
- use alternate method for checking for delegation break races after
  getting a lease (just check fi_had_conflict instead)

- drop file_has_lease patch -- no longer needed

- move cl_revoked handling patch into this set. It means altering a
  few of the later patches, but it keeps the set more topically
  coherent

v2:
- move remove_stid call from nfs4_free_stid and into callers

Yet another respin of the delegation rework to prepare for client_mutex
removal. This fixes all of the error handling bugs I could find and
should fix up the potential races between setting a delegation and
having it broken.

I also added some cleanup of the delegation setting code itself, moving
the allocation into the nfs4_set_delegation call, so that we can avoid
allocating one when we know there has already been a conflict.

Jeff Layton (7):
  nfsd: Protect the nfs4_file delegation fields using the fi_lock
  nfsd: Fix delegation revocation
  nfsd: ensure that clp->cl_revoked list is protected by clp->cl_lock
  nfsd: drop unused stp arg to alloc_init_deleg
  nfsd: clean up arguments to nfs4_open_delegation
  nfsd: clean up nfs4_set_delegation
  nfsd: give block_delegation and delegation_blocked its own spinlock

Trond Myklebust (3):
  nfsd: Move the delegation reference counter into the struct nfs4_stid
  nfsd: simplify stateid allocation and file handling
  nfsd: Convert delegation counter to an atomic_long_t type

 fs/nfsd/nfs4state.c | 250 +++++++++++++++++++++++++++++++++-------------------
 fs/nfsd/state.h     |   2 +-
 2 files changed, 161 insertions(+), 91 deletions(-)

-- 
1.9.3


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

end of thread, other threads:[~2014-07-22 15:00 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-18 15:13 [PATCH v4 00/10] nfsd: more delegation fixes to prepare for client_mutex removal Jeff Layton
2014-07-18 15:13 ` [PATCH v4 01/10] nfsd: Protect the nfs4_file delegation fields using the fi_lock Jeff Layton
2014-07-18 15:54   ` Christoph Hellwig
2014-07-18 18:46     ` Jeff Layton
2014-07-18 16:28   ` J. Bruce Fields
2014-07-18 17:31     ` Jeff Layton
2014-07-18 17:49       ` J. Bruce Fields
2014-07-18 19:04         ` Jeff Layton
2014-07-18 19:21           ` J. Bruce Fields
2014-07-18 19:32             ` Jeff Layton
2014-07-18 19:35               ` J. Bruce Fields
2014-07-21 21:05             ` J. Bruce Fields
2014-07-21 21:12               ` Jeff Layton
2014-07-18 15:13 ` [PATCH v4 02/10] nfsd: Move the delegation reference counter into the struct nfs4_stid Jeff Layton
2014-07-18 15:13 ` [PATCH v4 03/10] nfsd: simplify stateid allocation and file handling Jeff Layton
2014-07-18 15:55   ` Christoph Hellwig
2014-07-18 15:13 ` [PATCH v4 04/10] nfsd: Fix delegation revocation Jeff Layton
2014-07-18 16:44   ` J. Bruce Fields
2014-07-18 17:24     ` Jeff Layton
2014-07-18 15:13 ` [PATCH v4 05/10] nfsd: ensure that clp->cl_revoked list is protected by clp->cl_lock Jeff Layton
2014-07-18 15:57   ` Christoph Hellwig
2014-07-18 15:13 ` [PATCH v4 06/10] nfsd: Convert delegation counter to an atomic_long_t type Jeff Layton
2014-07-18 15:13 ` [PATCH v4 07/10] nfsd: drop unused stp arg to alloc_init_deleg Jeff Layton
2014-07-18 15:57   ` Christoph Hellwig
2014-07-18 15:13 ` [PATCH v4 08/10] nfsd: clean up arguments to nfs4_open_delegation Jeff Layton
2014-07-18 15:57   ` Christoph Hellwig
2014-07-18 15:13 ` [PATCH v4 09/10] nfsd: clean up nfs4_set_delegation Jeff Layton
2014-07-18 17:19   ` Christoph Hellwig
2014-07-18 17:23     ` Jeff Layton
2014-07-18 15:13 ` [PATCH v4 10/10] nfsd: give block_delegation and delegation_blocked its own spinlock Jeff Layton
2014-07-18 17:24   ` Christoph Hellwig
2014-07-21  7:02   ` NeilBrown
2014-07-21 11:44     ` Jeff Layton
2014-07-21 13:11       ` J. Bruce Fields
2014-07-21 13:23         ` Jeff Layton
2014-07-21 20:40       ` NeilBrown
2014-07-21 21:17         ` J. Bruce Fields
2014-07-21 22:50           ` NeilBrown
2014-07-22 15:00             ` J. Bruce Fields

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).