Re: [PATCH 08/11] xfs: use a struct iomap in xfs_writepage_ctx

From: Christoph Hellwig
Date: Tue Oct 08 2019 - 02:42:41 EST


On Tue, Oct 08, 2019 at 08:54:24AM +1100, Dave Chinner wrote:
> > + if (whichfork == XFS_COW_FORK)
> > + flags |= IOMAP_F_SHARED;
>
> That seems out of place - I don't see anywhere in this patch that
> moves/removes setting the IOMAP_F_SHARED flag. i.e this looks like a
> change of behaviour....

It is a change of representation, not behavior. Before this patch we
used a struct xfs_bmbt_irec + int fork in xfs_writepage_ctx to hold the
current writeback extent. We now use a iomap, which wants this flag to
have the fork information. The fork flag is removed later when switching
to the iomap implementation to avoid extra churn.

Before Darricks reshuffling there was an extra patch making this
transition more clear:

http://git.infradead.org/users/hch/xfs.git/commitdiff/5274577088ffcfcfbf735dcfe4153d699027caad

but since the series was turned upside down and creates the iomap code
out of the thin air all these easy to understand and verify step by
step changes to the existing xfs codebase got lost unfortunately.