|
@@ -330,22 +330,16 @@ xfs_qm_scall_quotaon(
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
|
- /* No fs can turn on quotas with a delayed effect */
|
|
|
- ASSERT((flags & XFS_ALL_QUOTA_ACCT) == 0);
|
|
|
-
|
|
|
/*
|
|
|
* Can't enforce without accounting. We check the superblock
|
|
|
* qflags here instead of m_qflags because rootfs can have
|
|
|
* quota acct on ondisk without m_qflags' knowing.
|
|
|
*/
|
|
|
- if (((flags & XFS_UQUOTA_ACCT) == 0 &&
|
|
|
- (mp->m_sb.sb_qflags & XFS_UQUOTA_ACCT) == 0 &&
|
|
|
+ if (((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 &&
|
|
|
+ ((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 &&
|
|
|
+ ((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",
|
|
@@ -384,8 +378,7 @@ xfs_qm_scall_quotaon(
|
|
|
((mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT) !=
|
|
|
(mp->m_qflags & XFS_PQUOTA_ACCT)) ||
|
|
|
((mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT) !=
|
|
|
- (mp->m_qflags & XFS_GQUOTA_ACCT)) ||
|
|
|
- (flags & XFS_ALL_QUOTA_ENFD) == 0)
|
|
|
+ (mp->m_qflags & XFS_GQUOTA_ACCT)))
|
|
|
return 0;
|
|
|
|
|
|
if (! XFS_IS_QUOTA_RUNNING(mp))
|