]> www.infradead.org Git - users/jedix/linux-maple.git/commit
iomap: optionally use ioends for direct I/O
authorChristoph Hellwig <hch@lst.de>
Thu, 6 Feb 2025 06:40:05 +0000 (07:40 +0100)
committerChristian Brauner <brauner@kernel.org>
Thu, 6 Feb 2025 12:02:14 +0000 (13:02 +0100)
commite523f2d4c974a819730830ce1c38834ee0cd7318
treef1bff056da9fa523e03c3002502395d403dabe17
parentae2f33a519af3730cacd1c787ebe1f7475df5ba8
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>
Link: https://lore.kernel.org/r/20250206064035.2323428-8-hch@lst.de
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
fs/iomap/direct-io.c
fs/iomap/internal.h
fs/iomap/ioend.c
include/linux/iomap.h