Re: [PATCH v3 11/12] ext4: Stop providing .writepage hook

Theodore Ts'o
2022-12-06T03:17:53Z

On Mon, Dec 05, 2022 at 01:29:25PM +0100, Jan Kara wrote:
> Now we don't need .writepage hook for anything anymore. Reclaim is fine
> with relying on .writepages to clean pages and we often couldn't do much
> from the .writepage callback anyway. We only need to provide
> .migrate_folio callback for the ext4_journalled_aops - let's use
> buffer_migrate_page_norefs() there so that buffers cannot be modified
^^^^^^^^^^^^^^^^^^^^^^^^^^ this should be buffer_migrate_folio_norefs, no?
> under jdb2's hands.
>
> Reviewed-by: Christoph Hellwig <hch@lst.de>
> Signed-off-by: Jan Kara <jack@suse.cz>

Could you clarify in the commit how critical it is to use the
_norefs() variant? It's not entirely clear what you mean by "let's
use...". I think what is meant is that we need to use ..._noref() or
we can get in trouble if while the page update is getting committed,
there is an attempted to migrate the folio containing the page.

buffer_migrate_folio_norefs() is currently not exported (although
buffer_migrate_folio is). So if we need it for ext4, we're going to
have to EXPORT_SYMBOL buffer_migrate_folio_norefs.

Any objections from the mm folks?

- Ted