Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 23 Dec 2000 18:40:02 -0800 (PST)
From:      Ian Dowse <iedowse@maths.tcd.ie>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/23794: reboot after panic: backgroundwritedone: lost buffer 
Message-ID:  <200012240240.eBO2e2m35709@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/23794; it has been noted by GNATS.

From: Ian Dowse <iedowse@maths.tcd.ie>
To: Andre Albsmeier <andre.albsmeier@mchp.siemens.de>
Cc: FreeBSD-gnats-submit@FreeBSD.org, iedowse@maths.tcd.ie,
	dillon@FreeBSD.org, mckusick@mckusick.com
Subject: Re: kern/23794: reboot after panic: backgroundwritedone: lost buffer 
Date: Sun, 24 Dec 2000 02:33:47 +0000

 In message <200012231336.eBNDaMp03117@curry.mchp.siemens.de>, Andre Albsmeier w
 rites:
 >>Synopsis:       reboot after panic: backgroundwritedone: lost buffer
 
 This is interesting, since it relates to the discussions which
 preceded revision 1.267 of vfs_bio.c. There was a piece of code in
 brelse() that was supposed to ensure that buffers with associated
 background writes would remain until the background write completed.
 
 However the logic of this code had always been wrong so it never
 functioned, and Matt removed it in vfs_bio.c revision 1.267 (and
 in 4.x revision 1.242.2.3). This panic may indicate that this check
 really does need to be added (correctly this time).
 
 What is the version number of /usr/src/sys/kern/vfs_bio.c that you
 are using?
 
 I think to re-introduce the test for background writes we need
 something like the patch below, though I haven't looked too carefully.
 
 Ian
 
 
 Index: vfs_bio.c
 ===================================================================
 RCS file: /home/iedowse/CVS/src/sys/kern/vfs_bio.c,v
 retrieving revision 1.268
 diff -u -r1.268 vfs_bio.c
 --- vfs_bio.c	2000/12/15 20:08:19	1.268
 +++ vfs_bio.c	2000/12/23 14:54:44
 @@ -1009,6 +1009,7 @@
  	 * background write.
  	 */
  	if ((bp->b_flags & B_VMIO)
 +	    && !(bp->b_xflags & BX_BKGRDINPROG)
  	    && !(bp->b_vp->v_tag == VT_NFS &&
  		 !vn_isdisk(bp->b_vp, NULL) &&
  		 (bp->b_flags & B_DELWRI))
 


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




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