]> www.infradead.org Git - users/hch/xfs.git/commitdiff
xfs: enable realtime quota again
authorDarrick J. Wong <djwong@kernel.org>
Tue, 15 Oct 2024 19:39:35 +0000 (12:39 -0700)
committerDarrick J. Wong <djwong@kernel.org>
Tue, 5 Nov 2024 21:36:19 +0000 (13:36 -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 90d45aae5cb8910c01a0b4b4e8e6341e8748564f..b928b036990bc34e5c61c6d333b6e957a7797b02 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 7ecea7623a151a1dbc619b2537e1a4058f83d869..0cb534d71119a5652b08435b5a0567fcc85f56e4 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);