Date: Sat, 09 Jun 2001 03:05:53 +0200 From: Tor.Egge@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? Message-ID: <200106090105.DAA59028@midten.fast.no> In-Reply-To: Your message of "Mon, 4 Jun 2001 18:45:56 -0700" References: <20010604184556.B45541@dragon.nuxi.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
> 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
[-- Attachment #2 --]
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:
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106090105.DAA59028>
