SCCS-vsn: sys/ufs/ffs/ufs_quota.c 7.6
SCCS-vsn: sys/ufs/ufs/ufs_quota.c 7.6
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)ufs_quota.c 7.5 (Berkeley) %G%
+ * @(#)ufs_quota.c 7.6 (Berkeley) %G%
*/
#include "param.h"
#include "time.h"
*/
#include "param.h"
#include "time.h"
while (dq->dq_flags & DQ_LOCK) {
dq->dq_flags |= DQ_WANT;
sleep((caddr_t)dq, PINOD+2);
while (dq->dq_flags & DQ_LOCK) {
dq->dq_flags |= DQ_WANT;
sleep((caddr_t)dq, PINOD+2);
- if ((dq->dq_flags & DQ_MOD) == 0)
+ if ((dq->dq_flags & DQ_MOD) == 0) {
+ if (vp != dqvp)
+ VOP_UNLOCK(dqvp);
}
dq->dq_flags |= DQ_LOCK;
auio.uio_iov = &aiov;
}
dq->dq_flags |= DQ_LOCK;
auio.uio_iov = &aiov;
*
* %sccs.include.redist.c%
*
*
* %sccs.include.redist.c%
*
- * @(#)ufs_quota.c 7.5 (Berkeley) %G%
+ * @(#)ufs_quota.c 7.6 (Berkeley) %G%
*/
#include "param.h"
#include "time.h"
*/
#include "param.h"
#include "time.h"
while (dq->dq_flags & DQ_LOCK) {
dq->dq_flags |= DQ_WANT;
sleep((caddr_t)dq, PINOD+2);
while (dq->dq_flags & DQ_LOCK) {
dq->dq_flags |= DQ_WANT;
sleep((caddr_t)dq, PINOD+2);
- if ((dq->dq_flags & DQ_MOD) == 0)
+ if ((dq->dq_flags & DQ_MOD) == 0) {
+ if (vp != dqvp)
+ VOP_UNLOCK(dqvp);
}
dq->dq_flags |= DQ_LOCK;
auio.uio_iov = &aiov;
}
dq->dq_flags |= DQ_LOCK;
auio.uio_iov = &aiov;