Re: [PATCH v2 08/13] xfs: Do not free EOF blocks for forcealign

Christoph Hellwig
2024-07-06T07:56:13Z

On Fri, Jul 05, 2024 at 04:24:45PM +0000, John Garry wrote:
> - if (xfs_inode_has_bigrtalloc(ip))
> +
> + /* Only try to free beyond the allocation unit that crosses EOF */
> + if (xfs_inode_has_forcealign(ip))
> + end_fsb = roundup_64(end_fsb, ip->i_extsize);
> + else if (xfs_inode_has_bigrtalloc(ip))
> end_fsb = xfs_rtb_roundup_rtx(mp, end_fsb);

Shouldn't we have a common helper to align things the right way?

But more importantly shouldn't this also cover hole punching if we
really want force aligned boundaries?