From: "Darrick J. Wong" <djwong@kernel.org>
To: Joanne Koong <joannelkoong@gmail.com>
Cc: brauner@kernel.org, hch@infradead.org, bfoster@redhat.com,
linux-fsdevel@vger.kernel.org, kernel-team@meta.com,
Christoph Hellwig <hch@lst.de>
Subject: Re: [PATCH v3 4/8] iomap: simplify ->read_folio_range() error handling for reads
Date: Thu, 6 Nov 2025 15:09:03 -0800 [thread overview]
Message-ID: <20251106230903.GT196362@frogsfrogsfrogs> (raw)
In-Reply-To: <CAJnrk1Zqj0TNpJcrGLhSvTaK48=8iHW-58y3HXH=YgHs_or0tA@mail.gmail.com>
On Thu, Nov 06, 2025 at 09:17:02AM -0800, Joanne Koong wrote:
> On Tue, Nov 4, 2025 at 5:50 PM Darrick J. Wong <djwong@kernel.org> wrote:
> >
> > On Tue, Nov 04, 2025 at 12:51:15PM -0800, Joanne Koong wrote:
> > > Instead of requiring that the caller calls iomap_finish_folio_read()
> > > even if the ->read_folio_range() callback returns an error, account for
> > > this internally in iomap instead, which makes the interface simpler and
> > > makes it match writeback's ->read_folio_range() error handling
> > > expectations.
> > >
> > > Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
> > > Reviewed-by: Christoph Hellwig <hch@lst.de>
> > > ---
> > > .../filesystems/iomap/operations.rst | 7 +++--
> > > fs/fuse/file.c | 10 ++-----
> > > fs/iomap/buffered-io.c | 27 +++++++++----------
> > > include/linux/iomap.h | 5 ++--
> > > 4 files changed, 20 insertions(+), 29 deletions(-)
> > >
> > > @@ -498,10 +497,10 @@ static int iomap_read_folio_iter(struct iomap_iter *iter,
> > > } else {
> > > if (!*bytes_submitted)
> > > iomap_read_init(folio);
> > > - *bytes_submitted += plen;
> > > ret = ctx->ops->read_folio_range(iter, ctx, plen);
> > > if (ret)
> > > return ret;
> > > + *bytes_submitted += plen;
> >
> > Hrmm. Is this the main change of this patch? We don't increment
> > bytes_submitted if ->read_folio_range returns an error, which then means
> > that fuse doesn't have to call iomap_finish_folio_read to decrement
> > *bytes_submitted?
> >
> > (and apparently the bio read_folio_range can't fail so no changes are
> > needed there)
>
> Yes, that is the motivation for the change. And to make the interface
> consistent with how the ->read_folio_iter() callback for writeback
> handles errors.
Cool! I think I understand this well enough to say
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
--D
>
> Thanks,
> Joanne
>
> >
> > --D
>
next prev parent reply other threads:[~2025-11-06 23:09 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-04 20:51 [PATCH v3 0/8] iomap: buffered io changes Joanne Koong
2025-11-04 20:51 ` [PATCH v3 1/8] iomap: account for unaligned end offsets when truncating read range Joanne Koong
2025-11-05 1:27 ` Darrick J. Wong
2025-11-06 17:08 ` Joanne Koong
2025-11-06 23:08 ` Darrick J. Wong
2025-11-04 20:51 ` [PATCH v3 2/8] docs: document iomap writeback's iomap_finish_folio_write() requirement Joanne Koong
2025-11-05 1:22 ` Darrick J. Wong
2025-11-04 20:51 ` [PATCH v3 3/8] iomap: optimize pending async writeback accounting Joanne Koong
2025-11-05 1:28 ` Darrick J. Wong
2025-11-04 20:51 ` [PATCH v3 4/8] iomap: simplify ->read_folio_range() error handling for reads Joanne Koong
2025-11-05 1:50 ` Darrick J. Wong
2025-11-06 17:17 ` Joanne Koong
2025-11-06 23:09 ` Darrick J. Wong [this message]
2025-11-04 20:51 ` [PATCH v3 5/8] iomap: simplify when reads can be skipped for writes Joanne Koong
2025-11-05 1:40 ` Darrick J. Wong
2025-11-04 20:51 ` [PATCH v3 6/8] iomap: use loff_t for file positions and offsets in writeback code Joanne Koong
2025-11-05 1:41 ` Darrick J. Wong
2025-11-04 20:51 ` [PATCH v3 7/8] iomap: use find_next_bit() for dirty bitmap scanning Joanne Koong
2025-11-05 1:42 ` Darrick J. Wong
2025-11-04 20:51 ` [PATCH v3 8/8] iomap: use find_next_bit() for uptodate " Joanne Koong
2025-11-05 1:42 ` Darrick J. Wong
2025-11-11 12:09 ` [PATCH v3 0/8] iomap: buffered io changes Christian Brauner
2025-11-11 18:05 ` Joanne Koong
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=20251106230903.GT196362@frogsfrogsfrogs \
--to=djwong@kernel.org \
--cc=bfoster@redhat.com \
--cc=brauner@kernel.org \
--cc=hch@infradead.org \
--cc=hch@lst.de \
--cc=joannelkoong@gmail.com \
--cc=kernel-team@meta.com \
--cc=linux-fsdevel@vger.kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.