Date: Tue, 20 Jan 2009 12:54:13 +0100 From: Christoph Mallon <christoph.mallon@gmx.de> To: FreeBSD Current <freebsd-current@freebsd.org> Cc: uwe@grohnwaldt.eu, FreeBSD Hackers <freebsd-hackers@freebsd.org>, miwi@freebsd.org Subject: Re: Question about panic in brelse() Message-ID: <4975BB65.2020502@gmx.de> In-Reply-To: <4975AACA.3050906@gmx.de> References: <496D94FD.9030300@gmx.de> <4975AACA.3050906@gmx.de>
next in thread | previous in thread | raw e-mail | index | archive | help
Christoph Mallon schrieb:
> @@ -1340,7 +1340,8 @@
> }
> TAILQ_INSERT_HEAD(&bufqueues[bp->b_qindex], bp, b_freelist);
> /* buffers with junk contents */
> - } else if (bp->b_flags & (B_INVAL | B_NOCACHE | B_RELBUF) ||
> + } else if (bp->b_flags & (B_INVAL | B_RELBUF) ||
> + ((bp->b_flags & (B_NOCACHE | B_DELWRI)) == B_NOCACHE)
> (bp->b_ioflags & BIO_ERROR)) {
> bp->b_flags |= B_INVAL;
> bp->b_xflags &= ~(BX_BKGRDWRITE | BX_ALTDATA);
I just realised that somehow a || got lost. The diff should read:
@@ -1340,7 +1340,8 @@
}
TAILQ_INSERT_HEAD(&bufqueues[bp->b_qindex], bp, b_freelist);
/* buffers with junk contents */
- } else if (bp->b_flags & (B_INVAL | B_NOCACHE | B_RELBUF) ||
+ } else if (bp->b_flags & (B_INVAL | B_RELBUF) ||
+ ((bp->b_flags & (B_NOCACHE | B_DELWRI)) == B_NOCACHE) ||
(bp->b_ioflags & BIO_ERROR)) {
bp->b_flags |= B_INVAL;
bp->b_xflags &= ~(BX_BKGRDWRITE | BX_ALTDATA);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4975BB65.2020502>
