From owner-freebsd-current Fri Jun 8 18: 5:59 2001 Delivered-To: freebsd-current@freebsd.org Received: from midten.fast.no (midten.fast.no [213.188.8.11]) by hub.freebsd.org (Postfix) with ESMTP id D5D9737B401; Fri, 8 Jun 2001 18:05:54 -0700 (PDT) (envelope-from Tor.Egge@fast.no) Received: from fast.no (IDENT:tegge@midten.fast.no [213.188.8.11]) by midten.fast.no (8.9.3/8.9.3) with ESMTP id DAA59028; Sat, 9 Jun 2001 03:05:53 +0200 (CEST) Message-Id: <200106090105.DAA59028@midten.fast.no> To: obrien@FreeBSD.ORG Cc: jhb@FreeBSD.ORG, mjacob@feral.com, current@FreeBSD.ORG Subject: Re: anyone seen these outside of alpha? or on non-SMP? From: Tor.Egge@fast.no In-Reply-To: Your message of "Mon, 4 Jun 2001 18:45:56 -0700" References: <20010604184556.B45541@dragon.nuxi.com> X-Mailer: Mew version 1.70 on Emacs 19.34.1 Mime-Version: 1.0 Content-Type: Multipart/Mixed; boundary="--Next_Part(Sat_Jun__9_03:05:26_2001)--" Content-Transfer-Encoding: 7bit Date: Sat, 09 Jun 2001 03:05:53 +0200 Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG ----Next_Part(Sat_Jun__9_03:05:26_2001)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit > Why can't a filesystem hacker back it out until his return? Things are > not getting better and this is tripping up more and more people. The enclosed patch might help somewhat against the "active pagedep" panics introduced in revision 1.98 of ffs_softdep.c. Instead of a panic, a message is printed and the pagedep structure isn't freed (it will be freed later by free_newdirblk()). - Tor Egge ----Next_Part(Sat_Jun__9_03:05:26_2001)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Description: "kludge2.diff" Index: sys/ufs/ffs/ffs_softdep.c =================================================================== RCS file: /home/ncvs/src/sys/ufs/ffs/ffs_softdep.c,v retrieving revision 1.98 diff -u -r1.98 ffs_softdep.c --- sys/ufs/ffs/ffs_softdep.c 2001/06/05 01:49:37 1.98 +++ sys/ufs/ffs/ffs_softdep.c 2001/06/07 18:30:16 @@ -1932,14 +1932,16 @@ WORKLIST_INSERT(&inodedep->id_bufwait, &dirrem->dm_list); } + + WORKLIST_REMOVE(&pagedep->pd_list); if ((pagedep->pd_state & NEWBLOCK) != 0) { - FREE_LOCK(&lk); - panic("deallocate_dependencies: " - "active pagedep"); + /* XXX: Wait for newdirblk to be freed */ + printf("deallocate_dependencies: " + "active pagedep\n"); + } else { + LIST_REMOVE(pagedep, pd_hash); + WORKITEM_FREE(pagedep, D_PAGEDEP); } - WORKLIST_REMOVE(&pagedep->pd_list); - LIST_REMOVE(pagedep, pd_hash); - WORKITEM_FREE(pagedep, D_PAGEDEP); continue; case D_ALLOCINDIR: ----Next_Part(Sat_Jun__9_03:05:26_2001)---- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message