* [Cluster-devel] allow building a kernel without buffer_heads
[not found] <20230720140452.63817-1-hch@lst.de>
@ 2023-07-20 14:51 ` Bob Peterson
2023-07-21 6:26 ` Christoph Hellwig
0 siblings, 1 reply; 2+ messages in thread
From: Bob Peterson @ 2023-07-20 14:51 UTC (permalink / raw)
To: cluster-devel.redhat.com
On 7/20/23 9:04 AM, Christoph Hellwig wrote:
> Hi all,
>
> This series allows to build a kernel without buffer_heads, which I
> think is useful to show where the dependencies are, and maybe also
> for some very much limited environments, where people just needs
> xfs and/or btrfs and some of the read-only block based file systems.
>
> It first switches buffered writes (but not writeback) for block devices
> to use iomap unconditionally, but still using buffer_heads, and then
> adds a CONFIG_BUFFER_HEAD selected by all file systems that need it
> (which is most block based file systems), makes the buffer_head support
> in iomap optional, and adds an alternative implementation of the block
> device address_operations using iomap. This latter implementation
> will also be useful to support block size > PAGE_SIZE for block device
> nodes as buffer_heads won't work very well for that.
>
> Note that for now the md software raid drivers is also disabled as it has
> some (rather questionable) buffer_head usage in the unconditionally built
> bitmap code. I have a series pending to make the bitmap code conditional
> and deprecated it, but it hasn't been merged yet.
>
> Changes since v1:
> - drop the already merged prep patches
> - depend on FS_IOMAP not IOMAP
> - pick a better new name for block_page_mkwrite_return
>
Hi Christoph,
Gfs2 still uses buffer_heads to manage the metadata being pushed through
its journals. We've been reducing our dependency on them but eliminating
them altogether is a large and daunting task. We can still work toward
that goal, but it will take time.
Bob Peterson
^ permalink raw reply [flat|nested] 2+ messages in thread