]> www.infradead.org Git - users/hch/misc.git/commit
iomap: optionally use ioends for direct I/O
authorChristoph Hellwig <hch@lst.de>
Wed, 8 Jan 2025 18:36:49 +0000 (19:36 +0100)
committerChristoph Hellwig <hch@lst.de>
Mon, 3 Feb 2025 09:18:38 +0000 (10:18 +0100)
commite72822fc290dbad5eda63b30001c456bd5431c6b
treec643de36cb13fa955ed4db1922946e4167e53a54
parent35f8bca62db347717abc59d1ccd7c1eae010bea7
iomap: optionally use ioends for direct I/O

struct iomap_ioend currently tracks outstanding buffered writes and has
some really nice code in core iomap and XFS to merge contiguous I/Os
an defer them to userspace for completion in a very efficient way.

For zoned writes we'll also need a per-bio user context completion to
record the written blocks, and the infrastructure for that would look
basically like the ioend handling for buffered I/O.

So instead of reinventing the wheel, reuse the existing infrastructure.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
fs/iomap/direct-io.c
fs/iomap/internal.h
fs/iomap/ioend.c
include/linux/iomap.h