summaryrefslogtreecommitdiffstats
path: root/sys/ufs
diff options
context:
space:
mode:
authorrwatson <rwatson@FreeBSD.org>2006-02-11 21:09:27 +0000
committerrwatson <rwatson@FreeBSD.org>2006-02-11 21:09:27 +0000
commita6ddea17cd613914ae285f229f454d15bd209243 (patch)
treef003ffffc2d8bd21e36eb62fe5dbcfd434c0f711 /sys/ufs
parented21a0cb06b78a3981925a8881a5954eb3a50643 (diff)
downloadFreeBSD-src-a6ddea17cd613914ae285f229f454d15bd209243.zip
FreeBSD-src-a6ddea17cd613914ae285f229f454d15bd209243.tar.gz
Instead of asserting the vnode lock before manipulating v_vflag, acquire
it and drop it afterwards. Found by: kris MFC after: 1 week
Diffstat (limited to 'sys/ufs')
-rw-r--r--sys/ufs/ufs/ufs_quota.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/ufs/ufs/ufs_quota.c b/sys/ufs/ufs/ufs_quota.c
index f66c2eb..ecb0855 100644
--- a/sys/ufs/ufs/ufs_quota.c
+++ b/sys/ufs/ufs/ufs_quota.c
@@ -429,8 +429,9 @@ quotaon(td, mp, type, fname)
quotaoff(td, mp, type);
ump->um_qflags[type] |= QTF_OPENING;
mp->mnt_flag |= MNT_QUOTA;
- ASSERT_VOP_LOCKED(vp, "quotaon");
+ vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
vp->v_vflag |= VV_SYSTEM;
+ VOP_UNLOCK(vp, 0, td);
*vpp = vp;
/*
* Save the credential of the process that turned on quotas.
OpenPOWER on IntegriCloud