• J. Bruce Fields's avatar
    nfsd: allow forced expiration of NFSv4 clients · 89c905be
    J. Bruce Fields authored
    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: default avatarJ. Bruce Fields <bfields@redhat.com>
    89c905be
nfs4state.c 199 KB