knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4
authorMarc Eshel <eshel@almaden.ibm.com>
Tue, 17 Jul 2007 11:04:35 +0000 (04:04 -0700)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Tue, 17 Jul 2007 17:23:07 +0000 (10:23 -0700)
commit9a8db97e7756119689c93c431e8b8324080f5625
tree2e0ac28664b02c7e1c7a111c6e60ac059fd92ad8
parent12127498c8f5e479df15ee374a0932f5659df49e
knfsd: lockd: nfsd4: use same grace period for lockd and nfsd4

Both lockd and (in the nfsv4 case) nfsd enforce a "grace period" after reboot,
during which clients may reclaim locks from the previous server instance, but
may not acquire new locks.

Currently the lockd and nfsd enforce grace periods of different lengths.  This
may cause problems when we reboot a server with both v2/v3 and v4 clients.
For example, if the lockd grace period is shorter (as is likely the case),
then a v3 client might acquire a new lock that conflicts with a lock already
held (but not yet reclaimed) by a v4 client.

This patch calculates a lease time that lockd and nfsd can both use.

Signed-off-by: Marc Eshel <eshel@almaden.ibm.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Neil Brown <neilb@suse.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/lockd/svc.c
fs/nfsd/lockd.c
fs/nfsd/nfs4state.c
include/linux/lockd/bind.h