diff options
author | jeff <jeff@FreeBSD.org> | 2005-06-13 00:48:58 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2005-06-13 00:48:58 +0000 |
commit | 659954b65e92d874eb890a44f312d86797282983 (patch) | |
tree | 130780e668b12145446003a50dd4d17d42832fcf | |
parent | df170ebc6114978ea1f917ad473f862e5135c3e6 (diff) | |
download | FreeBSD-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.
-rw-r--r-- | sys/sys/buf.h | 2 |
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); } |