linux-sg2042/fs/lockd
Trond Myklebust 5ac5f9d1ce [PATCH] NLM: Fix the NLM_GRANTED callback checks
If 2 threads attached to the same process are blocking on different locks on
different files (maybe even on different servers) but have the same lock
arguments (i.e.  same offset+length - actually quite common, since most
processes try to lock the entire file) then the first GRANTED call that wakes
one up will also wake the other.

Currently when the NLM_GRANTED callback comes in, lockd walks the list of
blocked locks in search of a match to the lock that the NLM server has
granted.  Although it checks the lock pid, start and end, it fails to check
the filehandle and the server address.

By checking the filehandle and server IP address, we ensure that this only
happens if the locks truly are referencing the same file.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-02-14 16:09:34 -08:00
..
Makefile Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
clntlock.c [PATCH] NLM: Fix the NLM_GRANTED callback checks 2006-02-14 16:09:34 -08:00
clntproc.c NLM: Ensure that nlmclnt_cancel_callback() doesn't loop forever 2006-02-01 12:52:23 -05:00
host.c SUNRPC: new interface to force an RPC rebind 2006-01-06 14:58:56 -05:00
mon.c SUNRPC: get rid of cl_chatty 2006-01-06 14:58:56 -05:00
svc.c SUNRPC: Ensure that SIGKILL will always terminate a synchronous RPC call. 2006-01-06 14:58:45 -05:00
svc4proc.c [PATCH] NLM: Fix the NLM_GRANTED callback checks 2006-02-14 16:09:34 -08:00
svclock.c NLM: Further cancel fixes 2006-01-06 14:58:54 -05:00
svcproc.c [PATCH] NLM: Fix the NLM_GRANTED callback checks 2006-02-14 16:09:34 -08:00
svcshare.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
svcsubs.c NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled 2005-11-04 15:39:48 -05:00
xdr.c [PATCH] Unlinline a bunch of other functions 2006-01-14 18:27:06 -08:00
xdr4.c NLM: fix parsing of sm notify procedure 2006-01-06 14:58:54 -05:00