linux-nfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 00/12] Fix delegation behaviour when server revokes some state
@ 2016-09-09 18:04 Trond Myklebust
  2016-09-09 18:04 ` [PATCH v3 01/12] NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags Trond Myklebust
  2016-09-10  0:49 ` [PATCH v3 00/12] Fix delegation behaviour when server revokes some state Oleg Drokin
  0 siblings, 2 replies; 16+ messages in thread
From: Trond Myklebust @ 2016-09-09 18:04 UTC (permalink / raw)
  To: linux-nfs; +Cc: Oleg Drokin

According to RFC5661, if any of the SEQUENCE status bits
SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED,
SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED, SEQ4_STATUS_ADMIN_STATE_REVOKED,
or SEQ4_STATUS_RECALLABLE_STATE_REVOKED are set, then we need to use
TEST_STATEID to figure out which stateids have been revoked, so we
can acknowledge the loss of state using FREE_STATEID.

While we already do this for open and lock state, we have not been doing
so for all the delegations.

v2: nfs_v4_2_minor_ops needs to set .test_and_free_expired too
v3: Now with added lock revoke fixes and close/delegreturn/locku fixes

Trond Myklebust (12):
  NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags
  NFSv4.1: Don't check delegations that are already marked as revoked
  NFSv4.1: Allow test_stateid to handle session errors without waiting
  NFSv4.1: Add a helper function to deal with expired stateids
  NFSv4.x: Allow callers of nfs_remove_bad_delegation() to specify a
    stateid
  NFSv4.1: Test delegation stateids when server declares "some state
    revoked"
  NFSv4.1: Deal with server reboots during delegation expiration
    recovery
  NFSv4.1: Don't recheck delegations that have already been checked
  NFSv4.1: Allow revoked stateids to skip the call to TEST_STATEID
  NFSv4.1: Ensure we always run TEST/FREE_STATEID on locks
  NFSv4.1: FREE_STATEID can be asynchronous
  NFSv4.1: Ensure we call FREE_STATEID if needed on
    close/delegreturn/locku

 fs/nfs/delegation.c                    | 153 ++++++++++++++++++-
 fs/nfs/delegation.h                    |   6 +-
 fs/nfs/flexfilelayout/flexfilelayout.c |   2 +-
 fs/nfs/nfs4_fs.h                       |   5 +-
 fs/nfs/nfs4proc.c                      | 258 ++++++++++++++++++++++-----------
 fs/nfs/nfs4session.h                   |   1 +
 fs/nfs/nfs4state.c                     |  29 ++--
 include/linux/nfs4.h                   |   1 +
 8 files changed, 348 insertions(+), 107 deletions(-)

-- 
2.7.4


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

end of thread, other threads:[~2016-09-10  0:49 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-09 18:04 [PATCH v3 00/12] Fix delegation behaviour when server revokes some state Trond Myklebust
2016-09-09 18:04 ` [PATCH v3 01/12] NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags Trond Myklebust
2016-09-09 18:04   ` [PATCH v3 02/12] NFSv4.1: Don't check delegations that are already marked as revoked Trond Myklebust
2016-09-09 18:04     ` [PATCH v3 03/12] NFSv4.1: Allow test_stateid to handle session errors without waiting Trond Myklebust
2016-09-09 18:04       ` [PATCH v3 04/12] NFSv4.1: Add a helper function to deal with expired stateids Trond Myklebust
2016-09-09 18:04         ` [PATCH v3 05/12] NFSv4.x: Allow callers of nfs_remove_bad_delegation() to specify a stateid Trond Myklebust
2016-09-09 18:04           ` [PATCH v3 06/12] NFSv4.1: Test delegation stateids when server declares "some state revoked" Trond Myklebust
2016-09-09 18:04             ` [PATCH v3 07/12] NFSv4.1: Deal with server reboots during delegation expiration recovery Trond Myklebust
2016-09-09 18:04               ` [PATCH v3 08/12] NFSv4.1: Don't recheck delegations that have already been checked Trond Myklebust
2016-09-09 18:04                 ` [PATCH v3 09/12] NFSv4.1: Allow revoked stateids to skip the call to TEST_STATEID Trond Myklebust
2016-09-09 18:04                   ` [PATCH v3 10/12] NFSv4.1: Ensure we always run TEST/FREE_STATEID on locks Trond Myklebust
2016-09-09 18:04                     ` [PATCH v3 11/12] NFSv4.1: FREE_STATEID can be asynchronous Trond Myklebust
2016-09-09 18:04                       ` [PATCH v3 12/12] NFSv4.1: Ensure we call FREE_STATEID if needed on close/delegreturn/locku Trond Myklebust
2016-09-09 18:26   ` [PATCH v3 01/12] NFSv4.1: Don't deadlock the state manager on the SEQUENCE status flags Olga Kornievskaia
2016-09-09 18:32     ` Trond Myklebust
2016-09-10  0:49 ` [PATCH v3 00/12] Fix delegation behaviour when server revokes some state Oleg Drokin

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