linux/fs/lockd
Jeff Layton 9706501e43 NLM: don't reattempt GRANT_MSG when there is already an RPC in flight
With the current scheme in nlmsvc_grant_blocked, we can end up with more
than one GRANT_MSG callback for a block in flight. Right now, we requeue
the block unconditionally so that a GRANT_MSG callback is done again in
30s. If the client is unresponsive, it can take more than 30s for the
call already in flight to time out.

There's no benefit to having more than one GRANT_MSG RPC queued up at a
time, so put it on the list with a timeout of NLM_NEVER before doing the
RPC call. If the RPC call submission fails, we requeue it with a short
timeout. If it works, then nlmsvc_grant_callback will end up requeueing
it with a shorter timeout after it completes.

Signed-off-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
2008-02-10 18:09:36 -05:00
..
clntlock.c NLM: Introduce an arguments structure for nlmclnt_init() 2008-01-30 02:06:07 -05:00
clntproc.c NLM: Fix a bogus 'return' in nlmclnt_rpc_release 2008-01-30 02:06:08 -05:00
host.c NLM: have server-side RPC clients default to soft RPC tasks 2008-02-10 18:09:36 -05:00
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mon.c NFS/SUNRPC: use transport protocol naming 2007-10-09 17:17:53 -04:00
svc.c knfsd: Support adding transports by writing portlist file 2008-02-01 16:42:13 -05:00
svc4proc.c lockd: fix reference count leaks in async locking case 2008-02-01 16:42:06 -05:00
svclock.c NLM: don't reattempt GRANT_MSG when there is already an RPC in flight 2008-02-10 18:09:36 -05:00
svcproc.c lockd: fix reference count leaks in async locking case 2008-02-01 16:42:06 -05:00
svcshare.c [PATCH] getting rid of all casts of k[cmz]alloc() calls 2006-12-13 09:05:58 -08:00
svcsubs.c lockd: minor log message fix 2008-02-01 16:42:15 -05:00
xdr.c lockd: Eliminate harmless mixed sign comparison in nlmdbg_cookie2a() 2008-01-30 02:06:02 -05:00
xdr4.c LOCKD: Convert printk's to dprintk's in lockd XDR routines 2007-10-09 17:17:12 -04:00