diff options
author | Steven Rostedt <rostedt@goodmis.org> | 2005-08-17 14:25:23 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-17 12:53:05 -0700 |
commit | c4f92dba97f4e3aa757500896f87001569f4604b (patch) | |
tree | 3af7efe2b1ae357ee151c1795dc60cfe801e8718 /fs/nfsd/nfssvc.c | |
parent | dd12f48d4e8774415b528d3991ae47c28f26e1ac (diff) | |
download | lwn-c4f92dba97f4e3aa757500896f87001569f4604b.tar.gz lwn-c4f92dba97f4e3aa757500896f87001569f4604b.zip |
[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/nfsd/nfssvc.c')
-rw-r--r-- | fs/nfsd/nfssvc.c | 1 |
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); } |