Re: [PATCH v5 09/10] xfs: Allow block allocator to take an alignment hint

From: Christoph Hellwig
Date: Wed Mar 12 2025 - 03:43:00 EST


> else if (ap->datatype & XFS_ALLOC_USERDATA)
> align = xfs_get_extsz_hint(ap->ip);
> +
> + if (align > 1 && (ap->flags & XFS_BMAPI_EXTSZALIGN))
> + args->alignment = align;
> +

Add a comment please.

> +/* Try to align allocations to the extent size hint */
> +#define XFS_BMAPI_EXTSZALIGN (1u << 11)

Shouldn't we be doing this by default for any extent size hint
based allocations?

> bool found;
> bool atomic_sw = flags & XFS_REFLINK_ATOMIC_SW;
> + uint32_t bmapi_flags = XFS_BMAPI_COWFORK |
> + XFS_BMAPI_PREALLOC;
> +
> + if (atomic_sw)
> + bmapi_flags |= XFS_BMAPI_EXTSZALIGN;

Please add a comment why you are doing this.