summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_sync.c
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-11-27 05:27:13 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-11-27 05:27:13 +0000
commit8a1845e49f56720cbfccd4c7f5f80ba5b980fdf4 (patch)
treed4a522dc41cdc79ba48fe761e94663b795da8cc0 /sys/kern/vfs_sync.c
parent0d68e9b5af14f4bfa04d22dbebab5972ac647b26 (diff)
Merge in the unified buffer cache code as found in NetBSD 2001/03/10. The
code is written mostly by Chuck Silvers <chuq@chuq.com>/<chs@netbsd.org>. Tested for the past few weeks by many developers, should be in a pretty stable state, but will require optimizations and additional cleanups.
Diffstat (limited to 'sys/kern/vfs_sync.c')
-rw-r--r--sys/kern/vfs_sync.c17
1 files changed, 7 insertions, 10 deletions
diff --git a/sys/kern/vfs_sync.c b/sys/kern/vfs_sync.c
index 4b07d0f373a..0adeb2f3065 100644
--- a/sys/kern/vfs_sync.c
+++ b/sys/kern/vfs_sync.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vfs_sync.c,v 1.20 2001/11/15 06:38:48 art Exp $ */
+/* $OpenBSD: vfs_sync.c,v 1.21 2001/11/27 05:27:12 art Exp $ */
/*
* Portions of this code are:
@@ -176,15 +176,12 @@ sched_sync(p)
VOP_UNLOCK(vp, 0, p);
s = splbio();
if (LIST_FIRST(slp) == vp) {
- /*
- * Note: disk vps can remain on the
- * worklist too with no dirty blocks, but
- * since sync_fsync() moves it to a different
- * slot we are safe.
- */
- if (LIST_FIRST(&vp->v_dirtyblkhd) == NULL &&
- vp->v_type != VBLK)
- panic("sched_sync: fsync failed");
+#ifdef DIAGNOSTIC
+ if (!(vp->v_bioflag & VBIOONSYNCLIST)) {
+ vprint("vnode", vp);
+ panic("sched_fsync: on synclist, but no flag");
+ }
+#endif
/*
* Put us back on the worklist. The worklist
* routine will remove us from our current