summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjeff <jeff@FreeBSD.org>2005-06-13 00:48:58 +0000
committerjeff <jeff@FreeBSD.org>2005-06-13 00:48:58 +0000
commit659954b65e92d874eb890a44f312d86797282983 (patch)
tree130780e668b12145446003a50dd4d17d42832fcf /sys
parentdf170ebc6114978ea1f917ad473f862e5135c3e6 (diff)
downloadFreeBSD-src-659954b65e92d874eb890a44f312d86797282983.zip
FreeBSD-src-659954b65e92d874eb890a44f312d86797282983.tar.gz
- We should never unlock a buf before we've cleared B_REMFREE. I believe
this is happening at the moment and sometimes causing panics later on the package cluster when we bremfree() a buf whose delayed bremfree() did not previously happen. Sponsored by: Isilon Systems, Inc.
Diffstat (limited to 'sys')
-rw-r--r--sys/sys/buf.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/sys/buf.h b/sys/sys/buf.h
index 9f8fc2f..a6ba1c0 100644
--- a/sys/sys/buf.h
+++ b/sys/sys/buf.h
@@ -309,6 +309,8 @@ BUF_UNLOCK(struct buf *bp)
int s;
s = splbio();
+ KASSERT((bp->b_flags & B_REMFREE) == 0,
+ ("BUF_UNLOCK %p while B_REMFREE is still set.", bp));
lockmgr(&(bp)->b_lock, LK_RELEASE, NULL, curthread);
splx(s);
}
OpenPOWER on IntegriCloud