Re: [PATCH 0/2] nilfs2: convert O_DIRECT reads to iomap

Viacheslav Dubeyko <[email protected]> Tue, 28 Jul 2026 16:19:05 -0700
Newsgroups org.kernel.vger.linux-nilfs,org.kernel.vger.linux-fsdevel
Message-ID <[email protected]>
On Tue, 2026-07-28 at 05:54 +0200, Christoph Hellwig wrote:
> On Fri, Jul 24, 2026 at 03:27:43PM -0700, Viacheslav Dubeyko wrote:
> > This series removes NILFS2 using of blockdev_direct_IO() by
> > converting the O_DIRECT read path to iomap.
>=20
> I think the important part here is that right now there are no
> direct I/O writes in nilfs2, not that you only convert the read
> path?
>=20
> > 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.
>=20
> That's just how zoned xfs and btrfs work.=C2=A0 In fact they only know
> the disk address one the write returns, so even later.
>=20
> Take a look at the IOMAP_F_ANON_WRITE flag used by xfs.=C2=A0 btrfs
> implements
> a similar scheme, but hidden behind a few layers of cruft.
>=20
> > The segment constructor walks buffer_head lists
> > directly and is not integrated with the generic address_space
> > writeback path.
>=20
> This sounds like word-soup to me.

Are you suggesting to re-write the commit message?

Thanks,
Slava.