Re: [PATCH 0/2] nilfs2: convert O_DIRECT reads to iomap
Christian Brauner <[email protected]> Mon, 27 Jul 2026 11:43:28 +0200
| Newsgroups | org.kernel.vger.linux-nilfs,org.kernel.vger.linux-fsdevel |
|---|---|
| Message-ID | <20260727-notunterkunft-zerfressen-gewidmet-d2ce28764abf@brauner> |
On Fri, 24 Jul 2026 15:27:43 -0700, Viacheslav Dubeyko wrote:
> nilfs2: convert O_DIRECT reads to iomap
>
> This series removes NILFS2 using of blockdev_direct_IO() by
> converting the O_DIRECT read path to iomap. NILFS2 is
> a log-structured, copy-on-write filesystem, which makes it
> a poor fit for a full iomap conversion. Newly allocated blocks
> are delay-allocated by nilfs_get_block() and only receive a real
> disk address when the segment constructor writes them out
> as part of a log. The segment constructor walks buffer_head lists
> directly and is not integrated with the generic address_space
> writeback path. First patch adds a new, read-only nilfs_iomap_ops
> wrapping the existing nilfs_bmap_lookup_contig() lookup.
> The second patch wires that ops table into O_DIRECT reads via
> iomap_dio_rw(), sets FMODE_CAN_ODIRECT explicitly on open, and
> removes nilfs_direct_IO() and the .direct_IO callback entirely.
> O_DIRECT writes are explicitly downgraded to the ordinary buffered
> write path in nilfs_file_write_iter().
>
> [...]
Applied to the vfs-7.3.nilfs2 branch of the vfs/vfs.git tree.
Patches in the vfs-7.3.nilfs2 branch should appear in linux-next soon.
Please report any outstanding bugs that were missed during review in a
new review to the original patch series allowing us to drop it.
It's encouraged to provide Acked-bys and Reviewed-bys even though the
patch has now been applied. If possible patch trailers will be updated.
Note that commit hashes shown below are subject to change due to rebase,
trailer updates or similar. If in doubt, please check the listed branch.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs.git
branch: vfs-7.3.nilfs2
[1/2] nilfs2: add iomap operations for direct I/O reads
https://git.kernel.org/vfs/vfs/c/e7b2c51c3fed
[2/2] nilfs2: switch O_DIRECT reads to iomap
https://git.kernel.org/vfs/vfs/c/b924d8d4e54f