svn commit: r226687 - head/sys/fs/nullfs

Kostik Belousov kostikbel at gmail.com
Mon Oct 24 14:42:34 UTC 2011


On Mon, Oct 24, 2011 at 04:22:45PM +0200, Roman Divacky wrote:
> On Mon, Oct 24, 2011 at 01:53:32PM +0000, Konstantin Belousov wrote:
> > Author: kib
> > Date: Mon Oct 24 13:53:32 2011
> > New Revision: 226687
> > URL: http://svn.freebsd.org/changeset/base/226687
> > 
> > Log:
> >   The only possible error return from null_nodeget() is due to insmntque1
> >   failure (the getnewvnode cannot return an error). In this case, the
> >   null_insmntque_dtr() already unlocked the reclaimed vnode, so VOP_UNLOCK()
> >   in the nullfs_mount() after null_nodeget() failure is wrong.
> >   
> >   Tested by:	pho
> >   MFC after:	1 week
> > 
> > Modified:
> >   head/sys/fs/nullfs/null_vfsops.c
> > 
> > Modified: head/sys/fs/nullfs/null_vfsops.c
> > ==============================================================================
> > --- head/sys/fs/nullfs/null_vfsops.c	Mon Oct 24 13:48:13 2011	(r226686)
> > +++ head/sys/fs/nullfs/null_vfsops.c	Mon Oct 24 13:53:32 2011	(r226687)
> > @@ -157,7 +157,6 @@ nullfs_mount(struct mount *mp)
> >  	 * Make sure the node alias worked
> >  	 */
> >  	if (error) {
> > -		VOP_UNLOCK(vp, 0);
> 
> Maybe you want to assert that it's indeed unlocked at this point?

No, I don't, since the vnode pointer is already invalid at this point.
The vput() call in dtr released the vnode reference owned by current
thread.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/svn-src-all/attachments/20111024/e1bb70cb/attachment.pgp


More information about the svn-src-all mailing list