nfsd4: fix hang on fast-booting nfs servers
authorJ. Bruce Fields <bfields@redhat.com>
Mon, 20 Sep 2010 02:55:06 +0000 (22:55 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Mon, 20 Sep 2010 03:49:30 +0000 (23:49 -0400)
commit06497524589f2a7717da33969d541674e0a27da6
tree3d7d21b9dd325c36e11a923f186059f587d7724d
parentc88739b373e4930ed082a607cb78bf82616fd076
nfsd4: fix hang on fast-booting nfs servers

The last_close field of a cache_detail is initialized to zero, so the
condition

detail->last_close < seconds_since_boot() - 30

may be false even for a cache that was never opened.

However, we want to immediately fail upcalls to caches that were never
opened: in the case of the auth_unix_gid cache, especially, which may
never be opened by mountd (if the --manage-gids option is not set), we
want to fail the upcall immediately.  Otherwise client requests will be
dropped unnecessarily on reboot.

Also document these conditions.

Signed-off-by: J. Bruce Fields <bfields@redhat.com>
net/sunrpc/cache.c