Re: [PATCH v8 05/15] xfs: ignore HW which cannot atomic write a single block

John Garry
2025-04-23T08:29:41Z

On 23/04/2025 09:10, Christoph Hellwig wrote:
> On Wed, Apr 23, 2025 at 08:15:43AM +0100, John Garry wrote:
>> Ideally we could have not set them in the first place, but need to know the
>> blocksize when xfs_alloc_buftarg() is called, but it is not yet set for
>> mp/sb. Is there any neat way to know the blocksize when xfs_alloc_buftarg()
>> is called?
>
> The buftarg is needed to read the superblock, which is used to determine
> the block size, so no.
>
> But maybe we should just delay setting the atomic values until later so
> that it can be done in a single pass? E.g. into xfs_setsize_buftarg
> which then should probably be rename to something like
> xfs_buftarg_setup.
>

How about just do away with btp->bt_bdev_awu_{min, max} struct members,
and call bdev_atomic_write_unit_max(mp->m_ddev_targp->bt_bdev) [and same
for RT] to later to set the mp awu max values at mountfs time? I think
that would work..