Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 25 Feb 2013 20:13:13 +1300
From:      Andrew Turner <andrew@fubar.geek.nz>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r247116 - in head/sys: fs/nfs fs/nfsclient kern nfsclient sys tools
Message-ID:  <20130225201313.2050da18@bender>
In-Reply-To: <201302211902.r1LJ2o5T033708@svn.freebsd.org>
References:  <201302211902.r1LJ2o5T033708@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 21 Feb 2013 19:02:50 +0000 (UTC)
John Baldwin <jhb@FreeBSD.org> wrote:

> Author: jhb
> Date: Thu Feb 21 19:02:50 2013
> New Revision: 247116
> URL: http://svnweb.freebsd.org/changeset/base/247116
> 
> Log:
>   Further refine the handling of stop signals in the NFS client.  The
>   changes in r246417 were incomplete as they did not add explicit
> calls to sigdeferstop() around all the places that previously passed
> SBDRY to _sleep().  In addition, nfs_getcacheblk() could trigger a
> write RPC from getblk() resulting in sigdeferstop() recursing.
> Rather than manually deferring stop signals in specific places,
> change the VFS_*() and VOP_*() methods to defer stop signals for
> filesystems which request this behavior via a new VFCF_SBDRY flag.
> Note that this has to be a VFC flag rather than a MNTK flag so that
> it works properly with VFS_MOUNT() when the mount is not yet fully
> constructed.  For now, only the NFS clients are set this new flag in
> VFS_SET(). 
>   A few other related changes:
>   - Add an assertion to ensure that TDF_SBDRY doesn't leak to
> userland.
>   - When a lookup request uses VOP_READLINK() to follow a symlink,
> mark the request as being on behalf of the thread performing the
> lookup (cnp_thread) rather than using a NULL thread pointer.  This
> causes NFS to properly handle signals during this VOP on an
> interruptible mount.
>   
>   PR:		kern/176179
>   Reported by:	Russell Cattelan (sigdeferstop() recursion)
>   Reviewed by:	kib
>   MFC after:	1 month

This change is causing init to crash for me on armv6. I'm netbooting a
PandaBoard and it appears init is receiving a SIGABRT before it gets
into main().

Do you have any idea where I could look to track down why it is doing
this?

Andrew



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130225201313.2050da18>