Fix one "wrong b_bufobj" panic in reassignbuf() by moving VI_UNLOCK(vp)

below KASSERT()s, which means there was no real problem here, we just
needed better locking for assertions.

OK'ed by:	jeff
Approved by:	re (scottl)
This commit is contained in:
Pawel Jakub Dawidek 2005-07-05 15:57:55 +00:00
parent f5851bcd31
commit c23c87bd93
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=147772

View File

@ -1766,7 +1766,6 @@ reassignbuf(struct buf *bp)
bo->bo_flag &= ~BO_ONWORKLST;
}
}
VI_UNLOCK(vp);
#ifdef INVARIANTS
bv = &bo->bo_clean;
bp = TAILQ_FIRST(&bv->bv_hd);
@ -1783,6 +1782,7 @@ reassignbuf(struct buf *bp)
KASSERT(bp == NULL || bp->b_bufobj == bo,
("bp %p wrong b_bufobj %p should be %p", bp, bp->b_bufobj, bo));
#endif
VI_UNLOCK(vp);
}
/*