summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2003-10-04 15:57:05 +0000
committerjeff <jeff@FreeBSD.org>2003-10-04 15:57:05 +0000
commit8de9c70cc9e2ed979b9ed1117128d713bb13b1a9 (patch)
tree6eabf4111ae22285861cdec13fd5f4f4d56c2ea7 /sys
parent19aefac66e75fb12f48d7a670397fa44a1cc4f9b (diff)
downloadFreeBSD-src-8de9c70cc9e2ed979b9ed1117128d713bb13b1a9.zip
FreeBSD-src-8de9c70cc9e2ed979b9ed1117128d713bb13b1a9.tar.gz
- The VI assert in getdirtybuf() is only valid if we're not on a VCHR
vnode. VCHR vnodes don't do background writes. Reported by: kan
Diffstat (limited to 'sys')
-rw-r--r--sys/ufs/ffs/ffs_softdep.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c
index 40081ef..375968c 100644
--- a/sys/ufs/ffs/ffs_softdep.c
+++ b/sys/ufs/ffs/ffs_softdep.c
@@ -5839,7 +5839,10 @@ getdirtybuf(bpp, mtx, waitfor)
* The mtx argument must be bp->b_vp's mutex in
* this case.
*/
- ASSERT_VI_LOCKED(bp->b_vp, "getdirtybuf");
+#ifdef DEBUG_VFS_LOCKS
+ if (bp->b_vp->v_type != VCHR)
+ ASSERT_VI_LOCKED(bp->b_vp, "getdirtybuf");
+#endif
bp->b_vflags |= BV_BKGRDWAIT;
interlocked_sleep(&lk, SLEEP, &bp->b_xflags, mtx,
PRIBIO, "getbuf", 0);
OpenPOWER on IntegriCloud