diff options
Diffstat (limited to 'sys/kern/vfs_sync.c')
-rw-r--r-- | sys/kern/vfs_sync.c | 17 |
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 |