From: Matthew Wilcox <willy@infradead.org>
To: Christoph Hellwig <hch@infradead.org>
Cc: linux-mm@kvack.org, linux-fsdevel@vger.kernel.org,
linux-kernel@vger.kernel.org, Jan Kara <jack@suse.com>,
David Howells <dhowells@redhat.com>
Subject: Re: [PATCH 07/12] writeback: Factor writeback_iter_init() out of write_cache_pages()
Date: Tue, 27 Jun 2023 12:08:30 +0100 [thread overview]
Message-ID: <ZJrDLgrSYV56zaZf@casper.infradead.org> (raw)
In-Reply-To: <ZJpmPOEH7rYkETsQ@infradead.org>
On Mon, Jun 26, 2023 at 09:31:56PM -0700, Christoph Hellwig wrote:
> On Mon, Jun 26, 2023 at 09:30:07PM -0700, Christoph Hellwig wrote:
> > On Mon, Jun 26, 2023 at 06:35:16PM +0100, Matthew Wilcox (Oracle) wrote:
> > > + for (folio = writeback_iter_init(mapping, wbc);
> > > + folio;
> > > + folio = writeback_get_next(mapping, wbc)) {
> >
> > Ok that's another way to structure it. Guess I should look over the
> > whole series first..
Perhaps ... it's a little hard to decide which of your comments
are worth replying to, and which are obviated by later realisations.
> That beeing said. Given that writeback_iter_init calls
> writeback_get_next anyway,
>
> writeback_iter_init(mapping, wbc);
> while ((folio = writeback_get_next(mapping, wbc)))
>
> still feels a little easier to follow to be. No hard feelings either
> way, just an observation.
I had it structured that way originally, but we need to pass in 'error'
to the get_next, and it's better if we also pass in 'folio', which means
that the user then needs to initialise error to 0 and folio to NULL
before using the macro, and that all felt a bit "You're holding it wrong".
next prev parent reply other threads:[~2023-06-27 11:08 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-26 17:35 [PATCH 00/12] Convert write_cache_pages() to an iterator Matthew Wilcox (Oracle)
2023-06-26 17:35 ` [PATCH 01/12] writeback: Factor out writeback_finish() Matthew Wilcox (Oracle)
2023-06-27 4:05 ` Christoph Hellwig
2023-06-26 17:35 ` [PATCH 02/12] writeback: Factor writeback_get_batch() out of write_cache_pages() Matthew Wilcox (Oracle)
2023-06-26 17:35 ` [PATCH 03/12] writeback: Factor should_writeback_folio() " Matthew Wilcox (Oracle)
2023-06-27 4:12 ` Christoph Hellwig
2023-06-27 11:16 ` Matthew Wilcox
2023-06-27 14:48 ` Matthew Wilcox
2023-06-26 17:35 ` [PATCH 04/12] writeback: Simplify the loops in write_cache_pages() Matthew Wilcox (Oracle)
2023-06-27 4:16 ` Christoph Hellwig
2023-06-26 17:35 ` [PATCH 05/12] pagevec: Add ability to iterate a queue Matthew Wilcox (Oracle)
2023-06-26 17:35 ` [PATCH 06/12] writeback: Use the folio_batch queue iterator Matthew Wilcox (Oracle)
2023-06-27 4:25 ` Christoph Hellwig
2023-06-26 17:35 ` [PATCH 07/12] writeback: Factor writeback_iter_init() out of write_cache_pages() Matthew Wilcox (Oracle)
2023-06-27 4:30 ` Christoph Hellwig
2023-06-27 4:31 ` Christoph Hellwig
2023-06-27 11:08 ` Matthew Wilcox [this message]
2023-06-26 17:35 ` [PATCH 08/12] writeback: Factor writeback_get_folio() " Matthew Wilcox (Oracle)
2023-06-27 4:34 ` Christoph Hellwig
2023-06-27 15:25 ` Matthew Wilcox
2023-06-26 17:35 ` [PATCH 09/12] writeback: Factor writeback_iter_next() " Matthew Wilcox (Oracle)
2023-06-27 4:39 ` Christoph Hellwig
2023-06-27 15:31 ` Matthew Wilcox
2023-06-27 16:28 ` Christoph Hellwig
2023-06-28 9:10 ` Jan Kara
2023-06-26 17:35 ` [PATCH 10/12] writeback: Add for_each_writeback_folio() Matthew Wilcox (Oracle)
2023-06-26 17:35 ` [PATCH 11/12] iomap: Convert iomap_writepages() to use for_each_writeback_folio() Matthew Wilcox (Oracle)
2023-06-26 17:35 ` [PATCH 12/12] writeback: Remove a use of write_cache_pages() from do_writepages() Matthew Wilcox (Oracle)
2023-06-27 4:03 ` [PATCH 00/12] Convert write_cache_pages() to an iterator Christoph Hellwig
2023-06-27 10:53 ` David Howells
2023-06-28 19:31 ` Matthew Wilcox
2023-06-28 20:03 ` David Howells
2023-07-04 18:08 ` Matthew Wilcox
2023-12-12 7:46 ` Christoph Hellwig
2023-11-21 5:18 ` Christoph Hellwig
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=ZJrDLgrSYV56zaZf@casper.infradead.org \
--to=willy@infradead.org \
--cc=dhowells@redhat.com \
--cc=hch@infradead.org \
--cc=jack@suse.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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.