summaryrefslogtreecommitdiff
path: root/sys/ufs/lfs/lfs_bio.c
diff options
context:
space:
mode:
authorThorsten Lockert <tholo@cvs.openbsd.org>1996-07-21 08:05:40 +0000
committerThorsten Lockert <tholo@cvs.openbsd.org>1996-07-21 08:05:40 +0000
commit2caa172cc05c0bcfc55223ffd67c1621572cc268 (patch)
treec0aa1bafa09c5f66f17137c69463d61f67cbbf32 /sys/ufs/lfs/lfs_bio.c
parentd1ca06e9f2af777503835fcef79a3827eef02cd2 (diff)
Ensure we never use more than one callout table slot
Diffstat (limited to 'sys/ufs/lfs/lfs_bio.c')
-rw-r--r--sys/ufs/lfs/lfs_bio.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/ufs/lfs/lfs_bio.c b/sys/ufs/lfs/lfs_bio.c
index 9d8aec4ae3d..5ce206bec8d 100644
--- a/sys/ufs/lfs/lfs_bio.c
+++ b/sys/ufs/lfs/lfs_bio.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: lfs_bio.c,v 1.4 1996/07/01 07:41:49 downsj Exp $ */
+/* $OpenBSD: lfs_bio.c,v 1.5 1996/07/21 08:05:39 tholo Exp $ */
/* $NetBSD: lfs_bio.c,v 1.5 1996/02/09 22:28:49 christos Exp $ */
/*
@@ -122,9 +122,12 @@ lfs_bwrite(v)
bp->b_flags |= B_DELWRI | B_LOCKED;
TAILQ_INSERT_TAIL(&bdirties, bp, b_synclist);
bp->b_synctime = time.tv_sec + 30;
- if (bdirties.tqh_first == bp)
+ if (bdirties.tqh_first == bp) {
+ untimeout((void (*)__P((void *)))wakeup,
+ &bdirties);
timeout((void (*)__P((void *)))wakeup,
&bdirties, 30 * hz);
+ }
bp->b_flags &= ~(B_READ | B_ERROR);
s = splbio();
reassignbuf(bp, bp->b_vp);