xfs: adjust the incore perag block_count when shrinking
[platform/kernel/linux-starfive.git] / fs / xfs / libxfs / xfs_ag.c
index e9cc481..f9f4d69 100644 (file)
@@ -1001,6 +1001,12 @@ xfs_ag_shrink_space(
                error = -ENOSPC;
                goto resv_init_out;
        }
+
+       /* Update perag geometry */
+       pag->block_count -= delta;
+       __xfs_agino_range(pag->pag_mount, pag->block_count, &pag->agino_min,
+                               &pag->agino_max);
+
        xfs_ialloc_log_agi(*tpp, agibp, XFS_AGI_LENGTH);
        xfs_alloc_log_agf(*tpp, agfbp, XFS_AGF_LENGTH);
        return 0;