From 9f5192ff71ce35cd97e224b7867bdb48e34334ff Mon Sep 17 00:00:00 2001 From: Kirk McKusick Date: Fri, 18 May 2001 22:16:28 +0000 Subject: [PATCH] Must be a bit less aggressive about freeing pagedep structures. Obtained from: Robert Watson and Matthew Jacob --- sys/ufs/ffs/ffs_softdep.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 044324ec69f..efa0966c42b 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -2029,7 +2029,7 @@ free_newdirblk(newdirblk) for (i = 0; i < DAHASHSZ; i++) if (LIST_FIRST(&pagedep->pd_diraddhd[i]) != NULL) break; - if (i == DAHASHSZ) { + if (i == DAHASHSZ && (pagedep->pd_state & ONWORKLIST) == 0) { LIST_REMOVE(pagedep, pd_hash); WORKITEM_FREE(pagedep, D_PAGEDEP); }