- Don't use the interlock to protect v_writecount.

This commit is contained in:
Jeff Roberson 2002-09-25 02:44:55 +00:00
parent 37ab0e0d81
commit 8823f1b6db
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=103943

View File

@ -447,16 +447,15 @@ quotaon(td, mp, type, fname)
nextvp = TAILQ_NEXT(vp, v_nmntvnodes);
mtx_unlock(&mntvnode_mtx);
mtx_lock(&vp->v_interlock);
if (vp->v_type == VNON || vp->v_writecount == 0) {
mtx_unlock(&vp->v_interlock);
mtx_lock(&mntvnode_mtx);
continue;
}
if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) {
if (vget(vp, LK_EXCLUSIVE, td)) {
mtx_lock(&mntvnode_mtx);
goto again;
}
if (vp->v_type == VNON || vp->v_writecount == 0) {
vput(vp);
mtx_lock(&mntvnode_mtx);
continue;
}
error = getinoquota(VTOI(vp));
vput(vp);
mtx_lock(&mntvnode_mtx);