tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: vwakeup: neg numoutput



On Tue, Jul 01, 2008 at 02:10:39PM +0200, Manuel Bouyer wrote:

> vfs_subr2.c has another place which makes me believe we can't use atomic ops
> alone to incement v_numoutput:
> 315: KASSERT(vp->v_numoutput == 0 && LIST_EMPTY(&vp->v_dirtyblkhd)); 
> if we can increment v_numoutput without hodling the lock, this KASSERT may
> fire because v_numoutput may be non-zero here after the VOP_FSYNC().

That assertion's broken because the vnode pager can start writes even if
another thread holds the vnode locked.

Andrew


Home | Main Index | Thread Index | Old Index