Re: [PATCH 04/20] block: Add some exports for bcachefs

From: Kent Overstreet
Date: Mon Jul 24 2023 - 23:00:51 EST


On Mon, Jul 24, 2023 at 10:31:04AM -0700, Christoph Hellwig wrote:
> On Wed, Jul 12, 2023 at 05:10:59PM -0400, Kent Overstreet wrote:
> > From: Kent Overstreet <kent.overstreet@xxxxxxxxx>
> >
> > - bio_set_pages_dirty(), bio_check_pages_dirty() - dio path
>
> Why? We've so far have been able to get away without file systems
> reinventing their own DIO path. I'd really like to keep it that way,
> so if you think the iomap dio code should be improved please explain
> why. And please also cycle the fsdevel list in.

It's been discussed at length why bcachefs doesn't use iomap.

In short, iomap is heavily callback based, the bcachefs io paths are
not - we pass around data structures instead. I discussed this with
people when iomap was first being written, but iomap ended up being a
much more conservative approach, more in line with the old buffer heads
code where the generic code calls into the filesystem to obtain
mappings.

I'm gradually convincing people of the merits of the bcachefs approach -
in particular reducing indirect function calls is getting more attention
these days.