fs: add CONFIG_BUFFER_HEAD
authorChristoph Hellwig <hch@lst.de>
Tue, 1 Aug 2023 17:22:01 +0000 (19:22 +0200)
committerJens Axboe <axboe@kernel.dk>
Wed, 2 Aug 2023 15:13:09 +0000 (09:13 -0600)
commit925c86a19bacf8ce10eb666328fb3fa5aff7b951
treee5724b45449d43a6a695ff2ff0a1276e70a7ccf7
parent487c607df790d366e67a7d6a30adf785cdd98e55
fs: add CONFIG_BUFFER_HEAD

Add a new config option that controls building the buffer_head code, and
select it from all file systems and stacking drivers that need it.

For the block device nodes and alternative iomap based buffered I/O path
is provided when buffer_head support is not enabled, and iomap needs a
a small tweak to define the IOMAP_F_BUFFER_HEAD flag to 0 to not call
into the buffer_head code when it doesn't exist.

Otherwise this is just Kconfig and ifdef changes.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Luis Chamberlain <mcgrof@kernel.org>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Link: https://lore.kernel.org/r/20230801172201.1923299-7-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
37 files changed:
block/fops.c
drivers/md/Kconfig
fs/Kconfig
fs/Makefile
fs/adfs/Kconfig
fs/affs/Kconfig
fs/befs/Kconfig
fs/bfs/Kconfig
fs/efs/Kconfig
fs/exfat/Kconfig
fs/ext2/Kconfig
fs/ext4/Kconfig
fs/f2fs/Kconfig
fs/fat/Kconfig
fs/freevxfs/Kconfig
fs/gfs2/Kconfig
fs/hfs/Kconfig
fs/hfsplus/Kconfig
fs/hpfs/Kconfig
fs/isofs/Kconfig
fs/jfs/Kconfig
fs/minix/Kconfig
fs/nilfs2/Kconfig
fs/ntfs/Kconfig
fs/ntfs3/Kconfig
fs/ocfs2/Kconfig
fs/omfs/Kconfig
fs/qnx4/Kconfig
fs/qnx6/Kconfig
fs/reiserfs/Kconfig
fs/sysv/Kconfig
fs/udf/Kconfig
fs/ufs/Kconfig
include/linux/buffer_head.h
include/linux/iomap.h
include/trace/events/block.h
mm/migrate.c