Re: [PATCH v11 02/16] xfs: only call xfs_setsize_buftarg once per buffer target

Christoph Hellwig
2025-05-06T04:22:47Z

On Mon, May 05, 2025 at 04:27:56PM +0100, John Garry wrote:
> On 05/05/2025 15:48, John Garry wrote:
>>>> @Darrick, please comment on whether happy with changes discussed.
>>> I put the sync_blockdev calls in a separate function so that the
>>> EIO/ENOSPC/whatever errors that come from the block device sync don't
>>> get morphed into ENOMEM by xfs_alloc_buftarg before being passed up.  I
>>> suppose we could make that function return an ERR_PTR, but I was trying
>>> to avoid making even more changes at the last minute, again.
>>
>> It seems simpler to just have the individual sync_blockdev() calls from
>> xfs_alloc_buftarg(), rather than adding ERR_PTR() et al handling in both
>> xfs_alloc_buftarg() and xfs_open_devices().
>
> Which of the following is better:

To me version 2 looks much better. I had initial reservations as
ERR_PTR doesn't play well with userspace, but none of this code is
in libxfs, so that should be fine.