struct xfs_rtgroup *rtg,
uint32_t freed)
{
- struct xfs_group *xg = &rtg->rtg_group;
+ struct xfs_group *xg = rtg_group(rtg);
struct xfs_mount *mp = rtg_mount(rtg);
struct xfs_zone_info *zi = mp->m_zone_info;
uint32_t used = rtg_rmap(rtg)->i_used_blocks;
trace_xfs_zone_alloc_blocks(oz, allocated, count_fsb);
- *sector = xfs_gbno_to_daddr(&rtg->rtg_group, 0);
+ *sector = xfs_gbno_to_daddr(rtg_group(rtg), 0);
*is_seq = bdev_zone_is_seq(mp->m_rtdev_targp->bt_bdev, *sector);
if (!*is_seq)
*sector += XFS_FSB_TO_BB(mp, allocated);
if (write_pointer == 0) {
/* zone is empty */
atomic_inc(&zi->zi_nr_free_zones);
- xfs_group_set_mark(&rtg->rtg_group, XFS_RTG_FREE);
+ xfs_group_set_mark(rtg_group(rtg), XFS_RTG_FREE);
iz->available += rtg_blocks(rtg);
} else if (write_pointer < rtg_blocks(rtg)) {
/* zone is open */
if (!*count_fsb)
return NULL;
- *daddr = xfs_gbno_to_daddr(&oz->oz_rtg->rtg_group, 0);
+ *daddr = xfs_gbno_to_daddr(rtg_group(oz->oz_rtg), 0);
*is_seq = bdev_zone_is_seq(mp->m_rtdev_targp->bt_bdev, *daddr);
if (!*is_seq)
*daddr += XFS_FSB_TO_BB(mp, oz->oz_allocated);
chunk->data = data;
chunk->oz = oz;
chunk->victim_rtg = iter->victim_rtg;
- atomic_inc(&chunk->victim_rtg->rtg_group.xg_active_ref);
+ atomic_inc(&rtg_group(chunk->victim_rtg)->xg_active_ref);
atomic_inc(&chunk->victim_rtg->rtg_gccount);
bio->bi_iter.bi_sector = xfs_rtb_to_daddr(mp, chunk->old_startblock);
atomic_inc(&chunk->oz->oz_ref);
split_chunk->victim_rtg = chunk->victim_rtg;
- atomic_inc(&chunk->victim_rtg->rtg_group.xg_active_ref);
+ atomic_inc(&rtg_group(chunk->victim_rtg)->xg_active_ref);
atomic_inc(&chunk->victim_rtg->rtg_gccount);
chunk->offset += split_len;
goto out;
}
- xfs_group_set_mark(&rtg->rtg_group, XFS_RTG_FREE);
+ xfs_group_set_mark(rtg_group(rtg), XFS_RTG_FREE);
atomic_inc(&zi->zi_nr_free_zones);
xfs_zoned_add_available(mp, rtg_blocks(rtg));
XFS_STATS_INC(mp, xs_gc_zone_reset_calls);
- bio->bi_iter.bi_sector = xfs_gbno_to_daddr(&rtg->rtg_group, 0);
+ bio->bi_iter.bi_sector = xfs_gbno_to_daddr(rtg_group(rtg), 0);
if (!bdev_zone_is_seq(bio->bi_bdev, bio->bi_iter.bi_sector)) {
/*
* Also use the bio to drive the state machine when neither