From owner-cvs-sys Mon Aug 28 09:45:54 1995 Return-Path: cvs-sys-owner Received: (from majordom@localhost) by freefall.FreeBSD.org (8.6.11/8.6.6) id JAA13365 for cvs-sys-outgoing; Mon, 28 Aug 1995 09:45:54 -0700 Received: from godzilla.zeta.org.au (godzilla.zeta.org.au [203.2.228.34]) by freefall.FreeBSD.org (8.6.11/8.6.6) with ESMTP id JAA12984 ; Mon, 28 Aug 1995 09:45:41 -0700 Received: (from bde@localhost) by godzilla.zeta.org.au (8.6.9/8.6.9) id CAA06533; Tue, 29 Aug 1995 02:33:57 +1000 Date: Tue, 29 Aug 1995 02:33:57 +1000 From: Bruce Evans Message-Id: <199508281633.CAA06533@godzilla.zeta.org.au> To: CVS-commiters@freefall.FreeBSD.org, bde@freefall.FreeBSD.org, cvs-sys@freefall.FreeBSD.org Subject: Re: cvs commit: src/sys/ufs/ufs ufs_disksubr.c Sender: cvs-sys-owner@FreeBSD.org Precedence: bulk > Modified: sys/ufs/ufs ufs_disksubr.c > Log: > Fix correct_writedisklabel() and writedisklabel(). Their setting of > bp->b_flags has been broken for many years: > a) they didn't set B_BUSY for doing i/o. This has been fatal since > 1995/07/25 when biodone() started checking that B_BUSY is set. > b) they didn't set B_INVAL for releasing the buffer. This at best > just put a useless buffer in the LRU queue for a little while. This should be in 2.1 since the fussy (buggy?) checking in biodone() is is already in 2.1. To test for the bug, change a label using `disklabel -e'. This should cause a panic in biodone() for all recent versions of vfs_bio.c. Bruce