diff options
author | jeff <jeff@FreeBSD.org> | 2003-10-04 15:57:05 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2003-10-04 15:57:05 +0000 |
commit | 8de9c70cc9e2ed979b9ed1117128d713bb13b1a9 (patch) | |
tree | 6eabf4111ae22285861cdec13fd5f4f4d56c2ea7 /sys/ufs | |
parent | 19aefac66e75fb12f48d7a670397fa44a1cc4f9b (diff) | |
download | FreeBSD-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/ufs')
-rw-r--r-- | sys/ufs/ffs/ffs_softdep.c | 5 |
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); |