[OE-core] [PATCH] nfsserver restart should kill and recreate nfsd kernel threads
Saul Wold
sgw at linux.intel.com
Thu Oct 24 21:13:29 UTC 2013
The short summary should include the recipe name.
Sau!
On 10/21/2013 08:19 PM, qiang.chen at windriver.com wrote:
> From: Qiang Chen <qiang.chen at windriver.com>
>
> nfsserver restart without killing kernel threads worked when portmap
> was the rpc publishing process and portmap was restarted.
> When rpcbind replaces portmap, nfsserver restart in this way does not
> work after an rpcbind restart.
>
> Steps to reproduce:
> 1). Make ext3 filesystem image on local host.
> cd /root
> dd if=/dev/zero of=test bs=1024K count=50
> mkfs.ext3 -F test
>
> 2). runqemu qemux86-64
> mkdir /mnt/wrtest
> mount -t ext3 -o loop test /mnt/wrtest
> echo "/mnt/wrtest *(sync,rw,no_subtree_check,no_root_squash)" > /etc/exports
> /etc/init.d/rpcbind restart
> /etc/init.d/nfsserver restart
> showmount -e localhost
> mkdir wrtest
> mount -t nfs localhost:/mnt/wrtest wrtest
>
> mount: mounting localhost:/mnt/wrtest on wrtest failed: Connection refused
>
> Modifying the nfsserver script to kill and restart kernel threads on
> restart makes the problem go away and is consistent with current
> RHEL/SUSE and Ubuntu/Debian mechanisms of handling the nfs server.
>
> Signed-off-by: Rich Dubielzig <rich.dubielzig at windriver.com>
> Signed-off-by: Qiang Chen <qiang.chen at windriver.com>
> ---
> .../nfs-utils/nfs-utils/nfsserver | 11 +++--------
> 1 file changed, 3 insertions(+), 8 deletions(-)
>
> diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
> index 8ee8d0b..d7cf6e0 100644
> --- a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
> +++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
> @@ -161,14 +161,9 @@ status)
> [ $RETVAL -eq 0 ] && exit $rval
> exit $RETVAL;;
> reload) test -r /etc/exports && exportfs -r;;
> -restart)exportfs -ua
> - stop_mountd
> - stop_statd
> - # restart does not restart the kernel threads,
> - # only the user mode processes
> - start_mountd
> - start_statd
> - test -r /etc/exports && exportfs -a;;
> +restart)
> + $0 stop
> + $0 start;;
> *) echo "Usage: $0 {start|stop|status|reload|restart}"
> exit 1;;
> esac
>
More information about the Openembedded-core
mailing list