diff options
author | jeff <jeff@FreeBSD.org> | 2005-06-14 20:32:27 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-06-14 20:32:27 +0000 |
commit | 78308b0fd3c50462338e1d06035471519472fd96 (patch) | |
tree | ac29a3bbf154c382c16737ecc674168ee2133f2a | |
parent | 909b5b7c58acbee4d16abcaa2d0b153bbee659c0 (diff) | |
download | FreeBSD-src-78308b0fd3c50462338e1d06035471519472fd96.zip FreeBSD-src-78308b0fd3c50462338e1d06035471519472fd96.tar.gz |
- Add and enhance asserts related to the wrong bufobj panic.
Sponsored by: Isilon Systems, Inc.
Approved by: re (blanket vfs)
-rw-r--r-- | sys/kern/vfs_bio.c | 2 | ||||
-rw-r--r-- | sys/kern/vfs_default.c | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index b33482e..d3ef32c 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -2544,7 +2544,7 @@ loop: CTR4(KTR_BUF, "getblk(%p, %ld, %d) = %p", vp, (long)blkno, size, bp); KASSERT(BUF_REFCNT(bp) == 1, ("getblk: bp %p not locked",bp)); KASSERT(bp->b_bufobj == bo, - ("wrong b_bufobj %p should be %p", bp->b_bufobj, bo)); + ("bp %p wrong b_bufobj %p should be %p", bp, bp->b_bufobj, bo)); return (bp); } diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 2336438..e338863 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -408,6 +408,9 @@ loop2: if (BUF_LOCK(bp, LK_EXCLUSIVE | LK_NOWAIT, NULL)) continue; VI_UNLOCK(vp); + KASSERT(bp->b_bufobj == &vp->v_bufobj, + ("bp %p wrong b_bufobj %p should be %p", + bp, bp->b_bufobj, &vp->v_bufobj)); if ((bp->b_flags & B_DELWRI) == 0) panic("fsync: not dirty"); if ((vp->v_object != NULL) && (bp->b_flags & B_CLUSTEROK)) { |