Re: [PATCH 6/6] fs: add CONFIG_BUFFER_HEAD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 7/20/23 16:04, Christoph Hellwig wrote:
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
little tweak to be able to compile out the buffer_head based code path.

Otherwise this is just Kconfig and ifdef changes.

Signed-off-by: Christoph Hellwig <hch@xxxxxx>
---
  block/fops.c                 | 71 +++++++++++++++++++++++++++++++-----
  drivers/md/Kconfig           |  1 +
  fs/Kconfig                   |  4 ++
  fs/Makefile                  |  2 +-
  fs/adfs/Kconfig              |  1 +
  fs/affs/Kconfig              |  1 +
  fs/befs/Kconfig              |  1 +
  fs/bfs/Kconfig               |  1 +
  fs/efs/Kconfig               |  1 +
  fs/exfat/Kconfig             |  1 +
  fs/ext2/Kconfig              |  1 +
  fs/ext4/Kconfig              |  1 +
  fs/f2fs/Kconfig              |  1 +
  fs/fat/Kconfig               |  1 +
  fs/freevxfs/Kconfig          |  1 +
  fs/gfs2/Kconfig              |  1 +
  fs/hfs/Kconfig               |  1 +
  fs/hfsplus/Kconfig           |  1 +
  fs/hpfs/Kconfig              |  1 +
  fs/iomap/buffered-io.c       | 12 ++++--
  fs/isofs/Kconfig             |  1 +
  fs/jfs/Kconfig               |  1 +
  fs/minix/Kconfig             |  1 +
  fs/nilfs2/Kconfig            |  1 +
  fs/ntfs/Kconfig              |  1 +
  fs/ntfs3/Kconfig             |  1 +
  fs/ocfs2/Kconfig             |  1 +
  fs/omfs/Kconfig              |  1 +
  fs/qnx4/Kconfig              |  1 +
  fs/qnx6/Kconfig              |  1 +
  fs/reiserfs/Kconfig          |  1 +
  fs/sysv/Kconfig              |  1 +
  fs/udf/Kconfig               |  1 +
  fs/ufs/Kconfig               |  1 +
  include/linux/buffer_head.h  | 32 ++++++++--------
  include/trace/events/block.h |  2 +
  mm/migrate.c                 |  4 +-
  37 files changed, 125 insertions(+), 32 deletions(-)

Hmm.

I actually have a patchset which _does_ allow for large I/O blocksizes with buffer_heads. (And even ltp/fsx is happy on xfs...)

Can we modify this to not have a compile-time option but rather a setting somewhere? EG kernel option or flag in struct address_space?

Cheers,

Hannes
--
Dr. Hannes Reinecke                Kernel Storage Architect
hare@xxxxxxx                              +49 911 74053 688
SUSE Software Solutions GmbH, Maxfeldstr. 5, 90409 Nürnberg
HRB 36809 (AG Nürnberg), Geschäftsführer: Ivo Totev, Andrew
Myers, Andrew McDonald, Martje Boudien Moerman




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux