From: Martin Schwenke Date: Tue, 11 Jan 2011 06:06:48 +0000 (+1100) Subject: Eventscripts: work around NFS restart failure under load. X-Git-Url: http://git.samba.org/?p=sahlberg%2Fctdb.git;a=commitdiff_plain;h=672fd18647ba12d5dca504422b35776a4fa92396 Eventscripts: work around NFS restart failure under load. "service nfs restart" can fail. To stop nfsd it sends a SIGINT and nfsd might take a while to process it if the system is loaded. Starting nfsd may then fail because resources are still in use. This does some /proc magic to tell nfsd to do no more processing. It then runs service stop, kills nfsd with SIGKILL, and then runs service start. This is much less likely to fail. Signed-off-by: Martin Schwenke --- diff --git a/config/functions b/config/functions index 4dc645b7..599e46a5 100755 --- a/config/functions +++ b/config/functions @@ -375,7 +375,10 @@ startstop_nfs() { service nfsserver stop > /dev/null 2>&1 ;; restart) - service nfsserver restart + echo 0 >/proc/fs/nfsd/threads + service nfsserver stop > /dev/null 2>&1 + pkill -9 nfsd + service nfsserver start ;; esac ;; @@ -390,8 +393,12 @@ startstop_nfs() { service nfslock stop > /dev/null 2>&1 ;; restart) - service nfslock restart - service nfs restart + echo 0 >/proc/fs/nfsd/threads + service nfs stop > /dev/null 2>&1 + service nfslock stop > /dev/null 2>&1 + pkill -9 nfsd + service nfslock start + service nfs start ;; esac ;;