alistair23-linux/fs/nfsd
J. Bruce Fields 89c905becc nfsd: allow forced expiration of NFSv4 clients
NFSv4 clients are automatically expired and all their locks removed if
they don't contact the server for a certain amount of time (the lease
period, 90 seconds by default).

There can still be situations where that's not enough, so allow
userspace to force expiry by writing "expire\n" to the new
nfsd/client/#/ctl file.

(The generic "ctl" name is because I expect we may want to allow other
operations on clients in the future.)

The write will not return until the client is expired and all of its
locks and other state removed.

The fault injection code also provides a way of expiring clients, but it
fails if there are any in-progress RPC's referencing the client.  Also,
its method of selecting a client to expire is a little more
primitive--it uses an IP address, which can't always uniquely specify an
NFSv4 client.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
2019-07-03 17:52:50 -04:00
..
acl.h
auth.c
auth.h
blocklayout.c nfsd: use 64-bit seconds fields in nfsd v4 code 2019-07-03 17:52:09 -04:00
blocklayoutxdr.c
blocklayoutxdr.h
cache.h nfsd4: drc containerization 2019-07-03 17:52:08 -04:00
current_stateid.h
export.c nfsd: knfsd must use the container user namespace 2019-04-24 09:46:35 -04:00
export.h
fault_inject.c
flexfilelayout.c
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
lockd.c
Makefile
netns.h nfsd: make client/ directory names small ints 2019-07-03 17:52:50 -04:00
nfs2acl.c
nfs3acl.c
nfs3proc.c nfsd/nfsd3_proc_readdir: fix buffer count and page pointers 2019-04-05 19:57:24 -04:00
nfs3xdr.c nfsd: knfsd must use the container user namespace 2019-04-24 09:46:35 -04:00
nfs4acl.c
nfs4callback.c This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
nfs4idmap.c nfsd: knfsd must use the container user namespace 2019-04-24 09:46:35 -04:00
nfs4layouts.c nfsd: update callback done processing 2019-05-03 11:01:38 -04:00
nfs4proc.c This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
nfs4recover.c This pull consists mostly of nfsd container work: 2019-05-15 18:21:43 -07:00
nfs4state.c nfsd: allow forced expiration of NFSv4 clients 2019-07-03 17:52:50 -04:00
nfs4xdr.c nfsd4: remove outdated nfsd4_decode_time comment 2019-07-03 17:52:09 -04:00
nfscache.c nfsd: fix cleanup of nfsd_reply_cache_init on failure 2019-07-03 17:52:09 -04:00
nfsctl.c nfsd4: add a client info file 2019-07-03 17:52:50 -04:00
nfsd.h nfsd4: add a client info file 2019-07-03 17:52:50 -04:00
nfsfh.c
nfsfh.h
nfsproc.c
nfssvc.c lockd: Pass the user cred from knfsd when starting the lockd server 2019-04-24 09:46:35 -04:00
nfsxdr.c nfsd: knfsd must use the container user namespace 2019-04-24 09:46:35 -04:00
pnfs.h
state.h nfsd: add nfsd/clients directory 2019-07-03 17:52:49 -04:00
stats.c
stats.h
trace.c
trace.h
vfs.c nfsd: Spelling s/EACCESS/EACCES/ 2019-07-03 17:52:09 -04:00
vfs.h nfsd: allow fh_want_write to be called twice 2019-04-24 09:46:35 -04:00
xdr.h
xdr3.h
xdr4.h nfsd: use 64-bit seconds fields in nfsd v4 code 2019-07-03 17:52:09 -04:00
xdr4cb.h