From owner-freebsd-current Fri Feb 19 5:22: 6 1999 Delivered-To: freebsd-current@freebsd.org Received: from herring.nlsystems.com (nlsys.demon.co.uk [158.152.125.33]) by hub.freebsd.org (Postfix) with ESMTP id C438711746 for ; Fri, 19 Feb 1999 05:21:48 -0800 (PST) (envelope-from dfr@nlsystems.com) Received: from localhost (dfr@localhost) by herring.nlsystems.com (8.9.2/8.8.8) with ESMTP id NAA80976; Fri, 19 Feb 1999 13:18:28 GMT (envelope-from dfr@nlsystems.com) Date: Fri, 19 Feb 1999 13:18:28 +0000 (GMT) From: Doug Rabson To: Matthew Dillon Cc: Julian Elischer , Kirk McKusick , Jake , Don Lewis , current@freebsd.org Subject: Re: softupdate panic, anyone seen this? (fwd) In-Reply-To: <199902191043.CAA31641@apollo.backplane.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, 19 Feb 1999, Matthew Dillon wrote: > This may or may not be related. In tracking down the sched_sync() > panic I found two bugs. > > First, a couple of places where the worklist was not being protected > at splbio(). I'm not 100% sure that this is a problem but the code > is complex enough that it's just too dangerous not to do it. > > Second, a double LIST_REMOVE() was being performed in the case where > VOP_FSYNC() would fail to sync all the dirty pages. This can occur > legally for both NFS and filesystems with SOFTUPDATES set. > > I'd appreciate it if someone could verify the double LIST_REMOVE() > bug. vn_syncer_add_to_worklist() already removes the vn from > the list ( assuming the VONWORKLIST v_flag is set, which it should be > in this case ). Your fixes for both problems look fine to me. -- Doug Rabson Mail: dfr@nlsystems.com Nonlinear Systems Ltd. Phone: +44 181 442 9037 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message