linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: "Darrick J. Wong" <djwong@kernel.org>
To: Ritesh Harjani <ritesh.list@gmail.com>
Cc: Luis Chamberlain <mcgrof@kernel.org>,
	lsf-pc@lists.linux-foundation.org,
	Christoph Hellwig <hch@infradead.org>,
	Matthew Wilcox <willy@infradead.org>,
	David Howells <dhowells@redhat.com>,
	"kbus >> Keith Busch" <kbusch@kernel.org>,
	Pankaj Raghav <p.raghav@samsung.com>,
	linux-fsdevel@vger.kernel.org, linux-mm@kvack.org
Subject: Re: LSF/MM/BPF 2023 IOMAP conversion status update
Date: Wed, 1 Mar 2023 09:08:23 -0800	[thread overview]
Message-ID: <Y/+GhyKDhLCULAm2@magnolia> (raw)
In-Reply-To: <87wn40mmpf.fsf@doe.com>

On Wed, Mar 01, 2023 at 10:29:56PM +0530, Ritesh Harjani wrote:
> Luis Chamberlain <mcgrof@kernel.org> writes:
> 
> > One of the recurring themes that comes up at LSF is "iomap has little
> > to no documentation, it is hard to use". I've only recently taken a
> > little nose dive into it, and so I also can frankly admit to say I don't
> > grok it well either yet. However, the *general* motivation and value is clear:
> > avoiding the old ugly monster of struct buffer_head, and abstracting
> > the page cache for non network filesystems, and that is because for
> > network filesystems my understanding is that we have another side effort
> > for that. We could go a bit down memory lane on prior attempts to kill
> > the struct buffer_head evil demon from Linux, or why its evil, but I'm not
> > sure if recapping that is useful at this point in time, let me know, I could
> > do that if it helps if folks want to talk about this at LSF. For now I rather
> 
> It would certainly help to hear on what are our plans of
> IOMAP_F_BUFFER_HEAD flag and it's related code. I know it is there
> for gfs2, but it would be good to know on what are our plans before we
> start converting all other filesystems to move to iomap?
> Do we advise on not to use this path for other filesystems? Do we plan
> to deprecate it in order to kill buffer heads in future?
> e.g.
> root> git grep "buffer_head" fs/iomap/
> fs/iomap/buffered-io.c:#include <linux/buffer_head.h>
> 
> Wanted more insights on this and our plans w.r.t other filesystem
> wanting to use it. So a short walk down the memory lane and our plans
> for future w.r.t IOMAP_F_BUFFER_HEAD would certainly help.

For filesystems considering an iomap port, my advice is:

If your filesystem is simple (e.g. direct overwrites, no cow, no verity,
no fscrypt, etc) then you ought to consider jumping to iomap directly
and moving off bufferheads forever.  If I were working on a port of
something simple(ish) like ext2 or fat or something, that's how I'd go.

Obviously, any filesystem that does not use bufferheads and ports to
iomap should go straight there.  Do not *start* using bufferheads.

For filesystems where things are more complicated (ext4/jbd2) it might
make more sense to port to iomap with bufferheads in one release to make
sure you've gotten the locking, iomap-ops, and writeback working
correctly.  Once that's done, then move off bufferheads.

gfs2 might want to move off of bufferheads some day, but I think they're
still letting the dust settle on the new iomap plumbing.

IOWs, I don't see IOMAP_F_BUFFER_HEAD going away until there's no longer
any interest in it.

--D

> Thanks
> -ritesh


      reply	other threads:[~2023-03-01 17:08 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-29  4:46 LSF/MM/BPF 2023 IOMAP conversion status update Luis Chamberlain
2023-01-29  5:06 ` Matthew Wilcox
2023-01-29  5:39   ` Luis Chamberlain
2023-02-08 16:04   ` Jan Kara
2023-02-24  7:01     ` Zhang Yi
2023-02-26 20:16     ` Ritesh Harjani
2023-03-16 14:40       ` [RFCv1][WIP] ext2: Move direct-io to use iomap Ritesh Harjani (IBM)
2023-03-16 15:41         ` Darrick J. Wong
2023-03-20 16:11           ` Ritesh Harjani
2023-03-20 13:15         ` Christoph Hellwig
2023-03-20 17:51         ` Jan Kara
2023-03-22  6:34           ` Ritesh Harjani
2023-03-23 11:30             ` Jan Kara
2023-03-23 13:19               ` Ritesh Harjani
2023-03-30  0:02               ` Christoph Hellwig
2023-02-27 19:26     ` LSF/MM/BPF 2023 IOMAP conversion status update Darrick J. Wong
2023-02-27 21:02       ` Matthew Wilcox
2023-02-27 19:47   ` Darrick J. Wong
2023-02-27 20:24     ` Luis Chamberlain
2023-02-27 19:06 ` Darrick J. Wong
2023-02-27 19:58   ` Luis Chamberlain
2023-03-01 16:59 ` Ritesh Harjani
2023-03-01 17:08   ` Darrick J. Wong [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Y/+GhyKDhLCULAm2@magnolia \
    --to=djwong@kernel.org \
    --cc=dhowells@redhat.com \
    --cc=hch@infradead.org \
    --cc=kbusch@kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=lsf-pc@lists.linux-foundation.org \
    --cc=mcgrof@kernel.org \
    --cc=p.raghav@samsung.com \
    --cc=ritesh.list@gmail.com \
    --cc=willy@infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).