summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorKirk McKusick <mckusick@FreeBSD.org>1999-05-09 19:39:54 +0000
committerKirk McKusick <mckusick@FreeBSD.org>1999-05-09 19:39:54 +0000
commit71a0942aca854d809265962f8b3606c72672a4ec (patch)
treed679e8a64958cd1db05f6798119fb739aa5e6010 /sys
parent904b306815ee233d8802ae1d8301a80171fa1924 (diff)
Notes
Diffstat (limited to 'sys')
-rw-r--r--sys/contrib/softupdates/ffs_softdep.c8
-rw-r--r--sys/ufs/ffs/ffs_softdep.c8
2 files changed, 10 insertions, 6 deletions
diff --git a/sys/contrib/softupdates/ffs_softdep.c b/sys/contrib/softupdates/ffs_softdep.c
index ada9c8c49e60..ff36319e0c43 100644
--- a/sys/contrib/softupdates/ffs_softdep.c
+++ b/sys/contrib/softupdates/ffs_softdep.c
@@ -53,7 +53,7 @@
* SUCH DAMAGE.
*
* from: @(#)ffs_softdep.c 9.36 (McKusick) 5/6/99
- * $Id: ffs_softdep.c,v 1.25 1999/05/07 02:26:47 mckusick Exp $
+ * $Id: ffs_softdep.c,v 1.26 1999/05/07 05:11:31 mckusick Exp $
*/
/*
@@ -492,10 +492,11 @@ add_to_worklist(wk)
if (wk->wk_state & ONWORKLIST)
panic("add_to_worklist: already on list");
wk->wk_state |= ONWORKLIST;
- if (LIST_FIRST(&softdep_workitem_pending) == NULL)
+ if (LIST_FIRST(&softdep_workitem_pending) == NULL) {
LIST_INSERT_HEAD(&softdep_workitem_pending, wk, wk_list);
- else
+ } else {
LIST_INSERT_AFTER(worklist_tail, wk, wk_list);
+ }
worklist_tail = wk;
}
@@ -3699,6 +3700,7 @@ softdep_sync_metadata(ap)
waitfor = MNT_NOWAIT;
top:
if (getdirtybuf(&TAILQ_FIRST(&vp->v_dirtyblkhd), MNT_WAIT) == 0) {
+ drain_output(vp, 1);
FREE_LOCK(&lk);
return (0);
}
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index ada9c8c49e60..ff36319e0c43 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -53,7 +53,7 @@
* SUCH DAMAGE.
*
* from: @(#)ffs_softdep.c 9.36 (McKusick) 5/6/99
- * $Id: ffs_softdep.c,v 1.25 1999/05/07 02:26:47 mckusick Exp $
+ * $Id: ffs_softdep.c,v 1.26 1999/05/07 05:11:31 mckusick Exp $
*/
/*
@@ -492,10 +492,11 @@ add_to_worklist(wk)
if (wk->wk_state & ONWORKLIST)
panic("add_to_worklist: already on list");
wk->wk_state |= ONWORKLIST;
- if (LIST_FIRST(&softdep_workitem_pending) == NULL)
+ if (LIST_FIRST(&softdep_workitem_pending) == NULL) {
LIST_INSERT_HEAD(&softdep_workitem_pending, wk, wk_list);
- else
+ } else {
LIST_INSERT_AFTER(worklist_tail, wk, wk_list);
+ }
worklist_tail = wk;
}
@@ -3699,6 +3700,7 @@ softdep_sync_metadata(ap)
waitfor = MNT_NOWAIT;
top:
if (getdirtybuf(&TAILQ_FIRST(&vp->v_dirtyblkhd), MNT_WAIT) == 0) {
+ drain_output(vp, 1);
FREE_LOCK(&lk);
return (0);
}