mirror of
https://git.yoctoproject.org/poky
synced 2026-05-09 05:29:32 +00:00
nfs-utils: don't use signals to shut down nfs server.
Since Linux v2.4 it has been possible to stop all NFS server by running
rpc.nfsd 0
i.e. by requesting that zero threads be running. This is preferred as
it doesn't risk killing some other process which happens to be called
"nfsd".
Since Linux v6.6 - and other stable kernels to which
Commit: 390390240145 ("nfsd: don't allow nfsd threads to be
signalled.")
has been backported - sending a signal no longer works to stop nfs server
threads.
This patch changes the nfsserver script to use "rpc.nfsd 0" to stop
server threads.
(From OE-Core rev: 7b09ad289a36e388ee4244b574ed32b66b654286)
Signed-off-by: NeilBrown <neil@brown.name>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
e1e7cde0ee
commit
7c8ab2cee4
@@ -89,34 +89,14 @@ start_nfsd(){
|
|||||||
start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
|
start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
|
||||||
echo done
|
echo done
|
||||||
}
|
}
|
||||||
delay_nfsd(){
|
|
||||||
for delay in 0 1 2 3 4 5 6 7 8 9
|
|
||||||
do
|
|
||||||
if pidof nfsd >/dev/null
|
|
||||||
then
|
|
||||||
echo -n .
|
|
||||||
sleep 1
|
|
||||||
else
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
return 1
|
|
||||||
}
|
|
||||||
stop_nfsd(){
|
stop_nfsd(){
|
||||||
# WARNING: this kills any process with the executable
|
|
||||||
# name 'nfsd'.
|
|
||||||
echo -n 'stopping nfsd: '
|
echo -n 'stopping nfsd: '
|
||||||
start-stop-daemon --stop --quiet --signal 1 --name nfsd
|
$NFS_NFSD 0
|
||||||
if delay_nfsd || {
|
if pidof nfsd
|
||||||
echo failed
|
|
||||||
echo ' using signal 9: '
|
|
||||||
start-stop-daemon --stop --quiet --signal 9 --name nfsd
|
|
||||||
delay_nfsd
|
|
||||||
}
|
|
||||||
then
|
then
|
||||||
echo done
|
|
||||||
else
|
|
||||||
echo failed
|
echo failed
|
||||||
|
else
|
||||||
|
echo done
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user