summaryrefslogtreecommitdiff
path: root/sys/kern/vfs_sync.c
diff options
context:
space:
mode:
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