summary refs log tree commit diff
path: root/fs
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2005-08-17 14:25:23 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-08-17 12:53:05 -0700
commitc4f92dba97f4e3aa757500896f87001569f4604b (patch)
tree3af7efe2b1ae357ee151c1795dc60cfe801e8718 /fs
parentdd12f48d4e8774415b528d3991ae47c28f26e1ac (diff)
downloadlinux-c4f92dba97f4e3aa757500896f87001569f4604b.tar.gz
[PATCH] nfsd to unlock kernel before exiting
The nfsd holds the big kernel lock upon exit, when it really shouldn't.
Not to mention that this breaks Ingo's RT patch. This is a trivial fix
to release the lock.

Ingo, this patch also works with your kernel, and stops the problem with
nfsd.

Note, there's a "goto out;" where "out:" is right above svc_exit_thread.
The point of the goto also holds the kernel_lock, so I don't see any
problem here in releasing it.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/nfsd/nfssvc.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfssvc.c b/fs/nfsd/nfssvc.c
index 07b9a065e9da..1697539a7171 100644
--- a/fs/nfsd/nfssvc.c
+++ b/fs/nfsd/nfssvc.c
@@ -287,6 +287,7 @@ out:
 	svc_exit_thread(rqstp);
 
 	/* Release module */
+	unlock_kernel();
 	module_put_and_exit(0);
 }