All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/4] nfsd: allow NFSv4 state to be revoked.
@ 2022-01-27  4:58 NeilBrown
  2022-01-27  4:58 ` [PATCH 1/4] nfsd: prepare for supporting admin-revocation of state NeilBrown
                   ` (5 more replies)
  0 siblings, 6 replies; 22+ messages in thread
From: NeilBrown @ 2022-01-27  4:58 UTC (permalink / raw)
  To: Chuck Lever; +Cc: linux-nfs

If a filesystem is exported to a client with NFSv4 and that client holds
a file open, the filesystem cannot be unmounted without either stopping the
NFS server completely, or blocking all access from that client
(unexporting all filesystems) and waiting for the lease timeout.

For NFSv3 - and particularly NLM - it is possible to revoke all state by
writing the path to the filesystem into /proc/fs/nfsd/unlock_filesystem.

This series extends this functionality to NFSv4.  With this, to unmount
an exported filesystem is it sufficient to disable export of that
filesystem, and then write the path to unlock_filesystem.

I've cursed mainly on NFSv4.1 and later for this.  I haven't tested
yet with NFSv4.0 which has different mechanisms for state management.

If this series is seen as a general acceptable approach, I'll look into
the NFSv4.0 aspects properly and make sure it works there.

Thanks,
NeilBrown


---

NeilBrown (4):
      nfsd: prepare for supporting admin-revocation of state
      nfsd: allow open state ids to be revoked and then freed
      nfsd: allow lock state ids to be revoked and then freed
      nfsd: allow delegation state ids to be revoked and then freed


 fs/nfsd/nfs4state.c | 105 ++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 96 insertions(+), 9 deletions(-)

--
Signature


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

end of thread, other threads:[~2022-01-28 16:23 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-27  4:58 [RFC PATCH 0/4] nfsd: allow NFSv4 state to be revoked NeilBrown
2022-01-27  4:58 ` [PATCH 1/4] nfsd: prepare for supporting admin-revocation of state NeilBrown
2022-01-27 12:59   ` kernel test robot
2022-01-27 12:59     ` kernel test robot
2022-01-27 14:51   ` kernel test robot
2022-01-27 14:51     ` kernel test robot
2022-01-27  4:58 ` [PATCH 3/4] nfsd: allow lock state ids to be revoked and then freed NeilBrown
2022-01-27  4:58 ` [PATCH 4/4] nfsd: allow delegation " NeilBrown
2022-01-27  4:58 ` [PATCH 2/4] nfsd: allow open " NeilBrown
2022-01-27 17:00 ` [RFC PATCH 0/4] nfsd: allow NFSv4 state to be revoked Chuck Lever III
2022-01-27 22:41   ` NeilBrown
2022-01-27 23:15     ` dai.ngo
2022-01-28  0:07     ` Chuck Lever III
2022-01-28  4:24       ` NeilBrown
2022-01-28  4:35         ` Trond Myklebust
2022-01-28 13:46         ` Chuck Lever III
2022-01-28 15:03           ` J. Bruce Fields
2022-01-28  2:51     ` J. Bruce Fields
2022-01-28  4:14       ` NeilBrown
2022-01-28 13:38         ` J. Bruce Fields
2022-01-28 16:23           ` J. Bruce Fields
2022-01-27 20:06 ` J. Bruce Fields

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.