uint m_alloc_set_aside; /* space we can't use */
uint m_ag_max_usable; /* max space per AG */
struct radix_tree_root m_perag_tree;
- struct radix_tree_root m_rtgroup_tree;
+ struct xarray m_rtgroups;
uint64_t m_features; /* active filesystem features */
uint64_t m_low_space[XFS_LOWSP_MAX];
uint64_t m_rtxblkmask; /* rt extent block mask */
*/
atomic64_t m_allocbt_blks;
spinlock_t m_perag_lock; /* lock for m_perag_tree */
- spinlock_t m_rtgroup_lock; /* lock for m_rtgroup_tree */
} xfs_mount_t;
xfs_set_inode32(mp);
mp->m_sb = *sb;
INIT_RADIX_TREE(&mp->m_perag_tree, GFP_KERNEL);
- INIT_RADIX_TREE(&mp->m_rtgroup_tree, GFP_KERNEL);
+ xa_init(&mp->m_rtgroups);
sbp = &mp->m_sb;
spin_lock_init(&mp->m_sb_lock);
spin_lock_init(&mp->m_agirotor_lock);
- spin_lock_init(&mp->m_rtgroup_lock);
xfs_sb_mount_common(mp, sb);