tech-kern archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/39052: assertion "!ISSET(bp->b_cflags, BC_BUSY)" failed
On Fri, Jun 27, 2008 at 08:37:37PM +0200, Manuel Bouyer wrote:
> [...]
>
> So we set BC_BUSY just before releasing bufcache_lock, on a buffer which is
> in the LRU queue. That's why we're getting the panic later.
>
> Now, is it OK to have a dirty buffer in the LRU queue ? It looks like
> we could recycle dirty buffers from the LRU queue without flushing them
> to disk first, isn't it ?
One case where this can happen is though bdwrite(), which sets
BO_DELWRI before calling brelse(). I added a check for this in brelsel()
(putting a BO_DELWRI buffer in one of the free lists), and got several
different traces; but it always has bdwrite() in it.
Where do we go from here ?
--
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
NetBSD: 26 ans d'experience feront toujours la difference
--
Home |
Main Index |
Thread Index |
Old Index