From owner-cvs-all Sat Nov 18 17:28:52 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 072D737B4C5; Sat, 18 Nov 2000 17:28:50 -0800 (PST) Received: (from dillon@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id RAA59781; Sat, 18 Nov 2000 17:28:49 -0800 (PST) (envelope-from dillon@FreeBSD.org) Message-Id: <200011190128.RAA59781@freefall.freebsd.org> From: Matt Dillon Date: Sat, 18 Nov 2000 17:28:49 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/kern vfs_bio.c X-FreeBSD-CVS-Branch: RELENG_4 Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG dillon 2000/11/18 17:28:49 PST Modified files: (Branch: RELENG_4) sys/kern vfs_bio.c Log: MFC VFS/BIO portion from 1.267. VM/low-mem fixes will be MFC'd later: KASSERT if the original buffer for a background write was replaced, indicating a probable duplicate I/O or passing I/O resulting in filesystem corruption. There are still probable bugs in the I/O handling and this will catch them rather then allow the FS to become corrupted. Remove the BX_BKGRDINPROG test in brelse() that was not working anyway, to restore prior NFS functionality (which we also believe does not work anyway, but this is safest until we figure out how to fix that whole section). Fixed bogus_page handling in brelse which could lead to invalidation of the wrong page and thus filesystem corruption. Fixed foff calculation in biodone(). I/O's with errors or I/O's brelse()'d rather then initiated could lead to an attempt to reprocess the same b_pages[] element twice, resulting in a 'busy < 0' panic. Approved: jkh Reviewed-by: mckusick, Ian Dowse Submitted-by: dillon, mckusick, Ian Dowse Revision Changes Path 1.242.2.3 +35 -20 src/sys/kern/vfs_bio.c To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message