Re: [PATCH v2 3/6] iomap: advance the ifs allocation if we have more than one blocks per folio
From: Christoph Hellwig
Date: Wed Aug 14 2024 - 01:32:55 EST
On Mon, Aug 12, 2024 at 08:11:56PM +0800, Zhang Yi wrote:
> From: Zhang Yi <yi.zhang@xxxxxxxxxx>
>
> Now we allocate ifs if i_blocks_per_folio is larger than one when
> writing back dirty folios in iomap_writepage_map(), so we don't attach
> an ifs after buffer write to an entire folio until it starts writing
> back, if we partial truncate that folio, iomap_invalidate_folio() can't
> clear counterpart block's dirty bit as expected. Fix this by advance the
> ifs allocation to __iomap_write_begin().
Wouldn't it make more sense to only allocate the ifѕ in
iomap_invalidate_folio when it actually is needed?
Also do you have a reproducer for this?