From owner-freebsd-current@FreeBSD.ORG Mon Feb 20 18:38:02 2006 Return-Path: X-Original-To: freebsd-current@freebsd.org Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3E66616A420 for ; Mon, 20 Feb 2006 18:38:02 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (apollo.backplane.com [216.240.41.2]) by mx1.FreeBSD.org (Postfix) with ESMTP id 95D0D43D46 for ; Mon, 20 Feb 2006 18:38:01 +0000 (GMT) (envelope-from dillon@apollo.backplane.com) Received: from apollo.backplane.com (localhost [127.0.0.1]) by apollo.backplane.com (8.13.4/8.13.4) with ESMTP id k1KIc1lM041576; Mon, 20 Feb 2006 10:38:01 -0800 (PST) Received: (from dillon@localhost) by apollo.backplane.com (8.13.4/8.13.4/Submit) id k1KIc0CG041575; Mon, 20 Feb 2006 10:38:00 -0800 (PST) Date: Mon, 20 Feb 2006 10:38:00 -0800 (PST) From: Matthew Dillon Message-Id: <200602201838.k1KIc0CG041575@apollo.backplane.com> To: Peter Jeremy , freebsd-current@freebsd.org References: <20060102222723.GA1754@dragon.NUXI.org> <200602180439.k1I4drNm010220@apollo.backplane.com> <20060218064523.GA684@turion.vk2pj.dyndns.org> <200602180742.k1I7g3XA012241@apollo.backplane.com> Cc: Subject: Re: It still here... panic: ufs_dirbad: bad dir X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Feb 2006 18:38:02 -0000 Could someone familiar with softupdates take a look at line 902 of kern/vfs_cluster.c? There is a call to buf_start(tbp) there, but then just after that in the B_VMIO code there is a brelse() call if one of the pages making up the buffer is BUSY. A brelse() call there, after the call to buf_start(), could leave the buffer in a very sad state indeed! It seems to me that that buf_start() call needs to be moved to around line 949, after the VM check and just before the tbp is added to the cluster list. -Matt