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>