xfs: enable realtime quota again
authorDarrick J. Wong <djwong@kernel.org>
Mon, 4 Nov 2024 04:19:42 +0000 (20:19 -0800)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 5 Nov 2024 21:38:46 +0000 (13:38 -0800)
Enable quotas for the realtime device.

Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
fs/xfs/xfs_qm.c
fs/xfs/xfs_rtalloc.c

index 90d45aa..b928b03 100644 (file)
@@ -1663,10 +1663,11 @@ xfs_qm_mount_quotas(
        uint                    sbf;
 
        /*
-        * If quotas on realtime volumes is not supported, we disable
-        * quotas immediately.
+        * If quotas on realtime volumes is not supported, disable quotas
+        * immediately.  We only support rtquota if rtgroups are enabled to
+        * avoid problems with older kernels.
         */
-       if (mp->m_sb.sb_rextents) {
+       if (mp->m_sb.sb_rextents && !xfs_has_rtgroups(mp)) {
                xfs_notice(mp, "Cannot turn on quotas for realtime filesystem");
                mp->m_qflags = 0;
                goto write_changes;
index 7ecea76..0cb534d 100644 (file)
@@ -1265,7 +1265,9 @@ xfs_growfs_rt(
 
        /* Unsupported realtime features. */
        error = -EOPNOTSUPP;
-       if (xfs_has_rmapbt(mp) || xfs_has_reflink(mp) || xfs_has_quota(mp))
+       if (xfs_has_quota(mp) && !xfs_has_rtgroups(mp))
+               goto out_unlock;
+       if (xfs_has_rmapbt(mp) || xfs_has_reflink(mp))
                goto out_unlock;
 
        error = xfs_sb_validate_fsb_count(&mp->m_sb, in->newblocks);