[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <80507f03-86b4-6406-5ab1-5687b6d12d93@suse.de>
Date: Thu, 20 Jul 2023 17:53:52 +0200
From: Hannes Reinecke <hare@...e.de>
To: Christoph Hellwig <hch@....de>, Jens Axboe <axboe@...nel.dk>
Cc: "Darrick J. Wong" <djwong@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Matthew Wilcox <willy@...radead.org>,
Christian Brauner <christian@...uner.io>,
linux-block@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-xfs@...r.kernel.org, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH 6/6] fs: add CONFIG_BUFFER_HEAD
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@....de>
> ---
> 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@...e.de +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
Powered by blists - more mailing lists