In quotaoff(), lock the vnode instead of asserting it when manipulating

v_vflags.

MFC after:	1 week
Submitted by:	Antoine Brodin <antoine at brodin at laposte dot net>
This commit is contained in:
Robert Watson 2006-02-12 13:20:06 +00:00
parent 7db952b8b5
commit 5652c15c24

View File

@ -536,8 +536,9 @@ again:
}
MNT_IUNLOCK(mp);
dqflush(qvp);
ASSERT_VOP_LOCKED(qvp, "quotaoff");
vn_lock(qvp, LK_EXCLUSIVE | LK_RETRY, td);
qvp->v_vflag &= ~VV_SYSTEM;
VOP_UNLOCK(qvp, 0, td);
error = vn_close(qvp, FREAD|FWRITE, td->td_ucred, td);
ump->um_quotas[type] = NULLVP;
crfree(ump->um_cred[type]);