Re: lift the xfs writepage code into iomap v2

From: Christoph Hellwig
Date: Fri Jun 28 2019 - 01:42:57 EST


On Thu, Jun 27, 2019 at 06:32:56PM -0700, Darrick J. Wong wrote:
> I think Dave has voiced some valid concerns about our ability to support
> this code over the long term once we start sharing it with other fses.
> XFS has a longish history of sailing away from generic code so that we
> can remove awkward abstractions which aren't working well for us. If
> we're going to continue to go our own way with things like file locking
> and mapping I wonder how long we'd keep using the iomap ioends before
> moving away again. How well will that iomap code avoid bitrot once XFS
> does that?

As outlied in my mail to Dave I agree with the high level issue.
But I very much thing that the writeback code is and should be generic.
For one it is much more tightly integrated with other iomap code
than with XFS. And second the kernel doesn't have a sane generic
writeback implementation. We have like three different crappy buffer
head ones, and anyone wanting to sanely implement writeback currently
has to write their own, which is a major PITA.

> How does that sound? Who are the other potential users?

The immediate current user is Damiens zonefs, which is just a thin
abstraction on top of zones in zoned block devices. Then my plan has
always been to convert gfs2 over to it, away from buffer heads. With
btrfs now joining iomap land I'd be really excited to move it over,
but we'll see how feasily that is. But with gfs2 done I think we
also are ready to convert anything currently using plain old buffer
heads over, so things like sysvfs, minix, jfs, etc. While that isn't
a priority and will take a while it will help with my grand overall
scheme of killing buffer_heads, at least for the data path.