|
@@ -117,11 +117,11 @@ xfs_qm_scall_quotaoff(
|
|
|
}
|
|
|
if (flags & XFS_GQUOTA_ACCT) {
|
|
|
dqtype |= XFS_QMOPT_GQUOTA;
|
|
|
- flags |= (XFS_OQUOTA_CHKD | XFS_OQUOTA_ENFD);
|
|
|
+ flags |= (XFS_GQUOTA_CHKD | XFS_GQUOTA_ENFD);
|
|
|
inactivate_flags |= XFS_GQUOTA_ACTIVE;
|
|
|
} else if (flags & XFS_PQUOTA_ACCT) {
|
|
|
dqtype |= XFS_QMOPT_PQUOTA;
|
|
|
- flags |= (XFS_OQUOTA_CHKD | XFS_OQUOTA_ENFD);
|
|
|
+ flags |= (XFS_PQUOTA_CHKD | XFS_PQUOTA_ENFD);
|
|
|
inactivate_flags |= XFS_PQUOTA_ACTIVE;
|
|
|
}
|
|
|
|
|
@@ -335,14 +335,14 @@ xfs_qm_scall_quotaon(
|
|
|
* quota acct on ondisk without m_qflags' knowing.
|
|
|
*/
|
|
|
if (((flags & XFS_UQUOTA_ACCT) == 0 &&
|
|
|
- (mp->m_sb.sb_qflags & XFS_UQUOTA_ACCT) == 0 &&
|
|
|
- (flags & XFS_UQUOTA_ENFD))
|
|
|
- ||
|
|
|
+ (mp->m_sb.sb_qflags & XFS_UQUOTA_ACCT) == 0 &&
|
|
|
+ (flags & XFS_UQUOTA_ENFD)) ||
|
|
|
+ ((flags & XFS_GQUOTA_ACCT) == 0 &&
|
|
|
+ (mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT) == 0 &&
|
|
|
+ (flags & XFS_GQUOTA_ENFD)) ||
|
|
|
((flags & XFS_PQUOTA_ACCT) == 0 &&
|
|
|
- (mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT) == 0 &&
|
|
|
- (flags & XFS_GQUOTA_ACCT) == 0 &&
|
|
|
- (mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT) == 0 &&
|
|
|
- (flags & XFS_OQUOTA_ENFD))) {
|
|
|
+ (mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT) == 0 &&
|
|
|
+ (flags & XFS_PQUOTA_ENFD))) {
|
|
|
xfs_debug(mp,
|
|
|
"%s: Can't enforce without acct, flags=%x sbflags=%x\n",
|
|
|
__func__, flags, mp->m_sb.sb_qflags);
|
|
@@ -776,9 +776,12 @@ xfs_qm_scall_getquota(
|
|
|
* gets turned off. No need to confuse the user level code,
|
|
|
* so return zeroes in that case.
|
|
|
*/
|
|
|
- if ((!XFS_IS_UQUOTA_ENFORCED(mp) && dqp->q_core.d_flags == XFS_DQ_USER) ||
|
|
|
- (!XFS_IS_OQUOTA_ENFORCED(mp) &&
|
|
|
- (dqp->q_core.d_flags & (XFS_DQ_PROJ | XFS_DQ_GROUP)))) {
|
|
|
+ if ((!XFS_IS_UQUOTA_ENFORCED(mp) &&
|
|
|
+ dqp->q_core.d_flags == XFS_DQ_USER) ||
|
|
|
+ (!XFS_IS_GQUOTA_ENFORCED(mp) &&
|
|
|
+ dqp->q_core.d_flags == XFS_DQ_GROUP) ||
|
|
|
+ (!XFS_IS_PQUOTA_ENFORCED(mp) &&
|
|
|
+ dqp->q_core.d_flags == XFS_DQ_PROJ)) {
|
|
|
dst->d_btimer = 0;
|
|
|
dst->d_itimer = 0;
|
|
|
dst->d_rtbtimer = 0;
|
|
@@ -786,8 +789,8 @@ xfs_qm_scall_getquota(
|
|
|
|
|
|
#ifdef DEBUG
|
|
|
if (((XFS_IS_UQUOTA_ENFORCED(mp) && dst->d_flags == FS_USER_QUOTA) ||
|
|
|
- (XFS_IS_OQUOTA_ENFORCED(mp) &&
|
|
|
- (dst->d_flags & (FS_PROJ_QUOTA | FS_GROUP_QUOTA)))) &&
|
|
|
+ (XFS_IS_GQUOTA_ENFORCED(mp) && dst->d_flags == FS_GROUP_QUOTA) ||
|
|
|
+ (XFS_IS_PQUOTA_ENFORCED(mp) && dst->d_flags == FS_PROJ_QUOTA)) &&
|
|
|
dst->d_id != 0) {
|
|
|
if ((dst->d_bcount > dst->d_blk_softlimit) &&
|
|
|
(dst->d_blk_softlimit > 0)) {
|
|
@@ -833,16 +836,16 @@ xfs_qm_export_flags(
|
|
|
uflags = 0;
|
|
|
if (flags & XFS_UQUOTA_ACCT)
|
|
|
uflags |= FS_QUOTA_UDQ_ACCT;
|
|
|
- if (flags & XFS_PQUOTA_ACCT)
|
|
|
- uflags |= FS_QUOTA_PDQ_ACCT;
|
|
|
if (flags & XFS_GQUOTA_ACCT)
|
|
|
uflags |= FS_QUOTA_GDQ_ACCT;
|
|
|
+ if (flags & XFS_PQUOTA_ACCT)
|
|
|
+ uflags |= FS_QUOTA_PDQ_ACCT;
|
|
|
if (flags & XFS_UQUOTA_ENFD)
|
|
|
uflags |= FS_QUOTA_UDQ_ENFD;
|
|
|
- if (flags & (XFS_OQUOTA_ENFD)) {
|
|
|
- uflags |= (flags & XFS_GQUOTA_ACCT) ?
|
|
|
- FS_QUOTA_GDQ_ENFD : FS_QUOTA_PDQ_ENFD;
|
|
|
- }
|
|
|
+ if (flags & XFS_GQUOTA_ENFD)
|
|
|
+ uflags |= FS_QUOTA_GDQ_ENFD;
|
|
|
+ if (flags & XFS_PQUOTA_ENFD)
|
|
|
+ uflags |= FS_QUOTA_PDQ_ENFD;
|
|
|
return (uflags);
|
|
|
}
|
|
|
|