lkml.org 
[lkml]   [1997]   [Jan]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subjectnfsiod sould not terminate on SIGTERM
Date
During a shutdown TERM signal is sent to all processes which kill nfsiod
while other processes are trying to save their state. As nfsiod went away
it is no longer possible to use nfs volumes mounted with rsize 4096 or
more. It is even worse, the nfs module generates a kernel oops, when a
process tries to save its state without nfsiod running. After this oops
the use count of the nfs volume does not go to zero and it is no longer
possible to umount it. This often causes incomplete umount before reboot
is called and it sometimes leads to filesystem corruption.

This patch just ignores SIGTERM in nfsiod, but any other signal can be used
to terminate it.

Zoltan


diff -u fs/nfs/nfsiod.c~ fs/nfs/nfsiod.c
--- fs/nfs/nfsiod.c~ Mon Jul 8 22:32:38 1996
+++ fs/nfs/nfsiod.c Fri Jan 17 22:46:56 1997
@@ -101,6 +101,7 @@
dprintk("BIO: nfsiod %d waiting\n", current->pid);
interruptible_sleep_on(&req->rq_wait);

+ current->signal &= ~(1<<(SIGTERM-1));
if (current->signal & ~current->blocked)
break;
if (!req->rq_rpcreq.rq_slot)
\
 
 \ /
  Last update: 2005-03-22 13:38    [W:0.073 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site