Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 26 Sep 2015 15:41:20 -0700
From:      Mark Johnston <markj@FreeBSD.org>
To:        NGie Cooper <yaneurabeya@gmail.com>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r288280 - head/sys/kern
Message-ID:  <20150926224114.GA93979@raichu>
In-Reply-To: <A53FF4CE-9BA1-4214-983E-74ABEFC5A3E8@gmail.com>
References:  <201509262226.t8QMQuHh018926@repo.freebsd.org> <A53FF4CE-9BA1-4214-983E-74ABEFC5A3E8@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Sep 26, 2015 at 03:28:34PM -0700, NGie Cooper wrote:
> 
> > On Sep 26, 2015, at 15:26, Mark Johnston <markj@FreeBSD.org> wrote:
> > 
> > Author: markj
> > Date: Sat Sep 26 22:26:55 2015
> > New Revision: 288280
> > URL: https://svnweb.freebsd.org/changeset/base/288280
> > 
> > Log:
> >  Remove a check for a condition that is always false by a preceding KASSERT
> >  that was added in r144704.
> > 
> > Modified:
> >  head/sys/kern/vfs_subr.c
> > 
> > Modified: head/sys/kern/vfs_subr.c
> > ==============================================================================
> > --- head/sys/kern/vfs_subr.c	Sat Sep 26 22:20:30 2015	(r288279)
> > +++ head/sys/kern/vfs_subr.c	Sat Sep 26 22:26:55 2015	(r288280)
> > @@ -1429,11 +1429,6 @@ flushbuflist(struct bufv *bufv, int flag
> > 		KASSERT(bp->b_bufobj == bo,
> > 		    ("bp %p wrong b_bufobj %p should be %p",
> > 		    bp, bp->b_bufobj, bo));
> > -		if (bp->b_bufobj != bo) {	/* XXX: necessary ? */
> > -			BUF_UNLOCK(bp);
> > -			BO_LOCK(bo);
> > -			return (EAGAIN);
> > -		}
> > 		/*
> > 		 * XXX Since there are no node locks for NFS, I
> > 		 * believe there is a slight chance that a delayed
> > 
> 
> Except the KASSERT gets optimized out with !INVARIANTS. Is this if-statement protecting against bad behavior?

Technically it was, but it's behaviour that could only occur as a result
of a bug elsewhere. The latest reports of this assertion failure that I
can find are all from 2005, when some buf-handling bugs were being
shaken out (see r147772 and r147387, for example). Given that this
invariant is pretty important and that it's been a decade since these
bugs were fixed, I believe it's safe to remove the extra handling. 



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